home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Information / THINK C Digest / 1992 / 92-10 < prev    next >
Text File  |  1995-12-31  |  101KB  |  3,063 lines

  1. 
  2. Path: ucivax!gateway
  3. From: phils@chaos.cs.brandeis.edu (Phil Shapiro)
  4. Subject: stdio and keyDown events
  5. Message-ID: <9210011304.AA00164@chaos.cs.brandeis.edu>
  6. In-Reply-To: Tom Luhrs's message of 30 Sep 92 18:40:47 GMT <9209301249.AA08639@elm.sanders.lockheed.com>
  7. Newsgroups: fa.think-c
  8. Lines: 20
  9. Date: 1 Oct 92 13:04:46 GMT
  10.  
  11. Here is the proper invocation:
  12.  
  13.     DCtlHandle dceH;
  14.  
  15.     Init();             /* Initialize toolbox first */
  16.     printf("\n");       /* Initialize & install console driver */
  17.  
  18.     /* get stdout's device control entry handle */
  19.     dceH = UTableBase [~ ((WindowPeek) stdout->window)->windowKind];
  20.     /* modify its event mask, so it doesn't try to handle keydowns */
  21.     (**dceH).dCtlEMask &= ~keyDownMask;
  22.  
  23. The name "UTableBase" is low memory global, so the above code will
  24. only work if you're #including <LoMem.h> or <MacHeaders>.
  25.  
  26.     -phil
  27. ----
  28.    Phil Shapiro                                   Software Engineer
  29.    Language Products Group                     Symantec Corporation
  30.            Internet: phils@cs.brandeis.edu
  31. 
  32. 
  33. Path: ucivax!gateway
  34. From: 100015.424@compuserve.com (Stephan Mayr)
  35. Subject: Number Formatting?
  36. Message-ID: <921001191715_100015.424_EHF35-1@CompuServe.COM>
  37. Newsgroups: fa.think-c
  38. Lines: 9
  39. Date: 1 Oct 92 19:24:31 GMT
  40.  
  41. I would like to format numbers using the toolbox functions "Str2Format",
  42. "Format2Str", "FormatX2Str" and "FormatStr2X" (Reference: IM, VI 14-49), but I
  43. cannot find the parameter description for these functions.
  44.  
  45. I guess its contained in "WorldWide Software Development", but I do not own
  46. that book and it takes to long to order from europe, seems they are producing a
  47. revised version, because it doesn't show up in my "Addison Wesley" catalog.
  48.  
  49. I would be glad about any info and example code. Thanks, Stephan
  50. 
  51. 
  52. Path: ucivax!gateway
  53. From: P30WCC9%NIU.bitnet@uicvm.uic.edu (WES COVALT)
  54. Subject: Unpacking MacPaint Solved
  55. Message-ID: <9210011326.aa18185@Paris.ics.uci.edu>
  56. Newsgroups: fa.think-c
  57. Lines: 7
  58. Date: 1 Oct 92 20:33:44 GMT
  59.  
  60. The problem was in the use of GWorld routines in System 6.07.
  61. Mac Programing Secrets used:
  62.      destPtr = GetPixBaseAddr( GetGWorldPixMap( buffer ));
  63. Though I got the baseAddr directly, I found that this works best:
  64.      destPtr = GetPixBaseAddr( (*buffer).portPixMap );
  65.  
  66. Many thanks to those patient souls for the help.
  67. 
  68. 
  69. Path: ucivax!gateway
  70. From: kw27+@andrew.cmu.edu (Kip Walker)
  71. Subject: Heap woes....
  72. Message-ID: <oemrt9u00Uzx85j1J4@andrew.cmu.edu>
  73. Newsgroups: fa.think-c
  74. Lines: 20
  75. Date: 1 Oct 92 22:40:40 GMT
  76.  
  77. In a little program I'm working on, I'm trying to allocate memory for an
  78. offscreen pixmap.  I have called MoreMasters and MaxApplZone, and
  79. checked my heap before the NewPtr - I have 500K free, and am trying to
  80. get only 32K. - and the heap has only 900 or so bytes used
  81. non-relocatably.
  82.  
  83. After the NewPtr call, I get the pointer, but my heap has been eaten -
  84. now it shows a HUGE 300K nonrelocatable block in use.
  85.  
  86. anyone have ideas about the cause of this?
  87.  
  88. Thanks in advance folks...
  89.  
  90.  
  91. Kip Walker
  92. ----------------------------+
  93. kwalker+@cmu.edu            |  "Here's your I.D.,
  94. kw27+@andrew.cmu.edu        |     ideal for identifying one and all."
  95. kip@drycas.club.cc.cmu.edu  |              -Jethro Tull
  96.  
  97. 
  98. 
  99. Path: ucivax!gateway
  100. From: MRUHL@azcc.arizona.edu (The sky is ecstasy dancing)
  101. Subject: Thanks.
  102. Message-ID: <921001170250.29400b91@AZCC.Arizona.EDU>
  103. Newsgroups: fa.think-c
  104. Lines: 31
  105. Date: 2 Oct 92 00:03:12 GMT
  106. X-Vmsmail-To: SMTP%"think-c@ics.uci.edu"
  107.  
  108. Well, I found out what my problem with integers was. :)
  109.  
  110. If I choose to use the 4 byte int option, I must recompile the ansi library, in
  111. order for the fucntions to work in the way that I assumed.  I haven't had a
  112. chance to sit down and do this yet, but I will, and then maybe I will post how
  113. it is to be done. :)
  114.  
  115. Thanks again,
  116.  
  117. especially to:
  118. Danny Thomas
  119. R. Siegel
  120. Chris Page
  121. Eric from p3.lnal.gov
  122. David 'Dak' Keldsen
  123. Paul Franklin
  124. Josh Cherry
  125. Hugues Marty
  126. Bill Hofmann
  127. David Dantowitz
  128. Eroc Slosser.
  129.  
  130.  
  131. Mike
  132.  
  133.  
  134. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  135. Mike Ruhl
  136. Operator
  137. Arizona Cancer Center
  138. mruhl@azcc.arizona.edu
  139. 
  140. 
  141. Path: ucivax!gateway
  142. From: jimlynch@netcom.com (Jim Lynch)
  143. Subject: Re:  stdio and keyDown events
  144. Message-ID: <9210020132.AA20690@netcom.com>
  145. Newsgroups: fa.think-c
  146. Lines: 5
  147. Date: 2 Oct 92 01:36:07 GMT
  148.  
  149. Yes, Phil.... Think C should include sprintf in either MacTraps or MacTraps2.
  150. Another possibility would be to provide a compilable source for sprintf so
  151. we could include it. Maybe you already do this; if so, where can I find it?
  152.  
  153. (Note: use of sprintf in a mac application may not be localizable.)
  154. 
  155. 
  156. Path: ucivax!gateway
  157. From: ejohnson@suna0.cs.uiuc.edu (Eric E Johnson)
  158. Subject: Looking for sample code for ASR's in MacTCP
  159. Message-ID: <199210020330.AA01029@sparc3.cs.uiuc.edu>
  160. X-Mailer: ELM [version 2.3 PL11]
  161. Newsgroups: fa.think-c
  162. Lines: 27
  163. Date: 2 Oct 92 03:29:52 GMT
  164.  
  165. I've been working on a networked, role playing game for the Mac using
  166. Think C.  To make the networking easier, I'm using a MacTCP class that I
  167. picked up from the Think Class Library email list.  Unfortunately, I've
  168. hit a terrible road block, not with the class, but with MacTCP itself,
  169. and possibly Think C.
  170.  
  171. MacTCP provides two notification methods, one is the ASR, the other is
  172. the asynchronous completion routine.  I've been unsuccessful in using
  173. either one separately or combined.  I won't bore you with the details.
  174. But I can say that my problem was not that they never got called, but
  175. that after awhile, when the networking between the server and client
  176. would go up to speed, the Mac would die.
  177.  
  178. I'm looking for some sample Think C code that demonstrates either one or
  179. both of these notification methods in detail.  By that, I mean issuing
  180. other MacTCP calls that have notification methods as well.  I've been
  181. using the MacTCP docs from Apple, but there is no demo code in there for
  182. how to deal with lots of completion routines.
  183.  
  184. I don't have direct access to the "Developer" CD Roms, but would anyone
  185. know if they have any demo code for some elaborate call back schemes?
  186.  
  187. Eric
  188.  
  189.  
  190.  
  191.  
  192. 
  193. 
  194. Path: ucivax!gateway
  195. From: dmorley@clam.rutgers.edu (darin s morley)
  196. Subject: Code Optimazation Problem
  197. Message-ID: <CMM-RU.1.3.718078210.dmorley@clam.rutgers.edu>
  198. Newsgroups: fa.think-c
  199. Lines: 38
  200. Date: 3 Oct 92 02:10:19 GMT
  201.  
  202. I've noticed some strange behavior in the debugger when using code like the
  203. following:
  204.  
  205. #define        kDataType    float
  206.  
  207. class    FooBar
  208. {
  209.     virtual kDataType    Data();
  210.     virtual    Boolean        Bool();
  211. }
  212.  
  213. main()
  214. {
  215.     Boolean        boolVar;
  216.     kDataType    dataVar;
  217.     FooBar        *myFooBar;
  218.  
  219.     myFooBar = new FooBar;
  220.     boolVar = myFooBar->Bool();
  221.     dataVar = myFooBar->Data();
  222. }
  223.  
  224. Watching the values of boolVar and dataVar, I noticed that boolVar was 1
  225. before myFooBar->Data() was invoked. However, it became zero afterward. I
  226. suspected a problem in the Data() method so I rewrote it:
  227.  
  228. kDataType    FooBar::Data( void )
  229. {
  230.     return    (kDataType) 0;
  231. }
  232.  
  233. ... and then I ran it again only to have the same problem. Apparently, the
  234. return value was the wrong size and was overwriting boolVar. I decided to
  235. play with the option settings to see what effect that would have. I turned
  236. "Native Floating Point Format" *off*, but that had no effect. I then turned
  237. "Code Optimization" *off*, and everything worked fine! Has anyone else
  238. noticed such anomalies when "Code Optimization" was on? Is there a known
  239. bug in the optimizer? Have I overlooked something?
  240. 
  241. 
  242. Path: ucivax!gateway
  243. From: thein@seas.ucla.edu (Hla Tun "Tim" Thein)
  244. Subject: unsubscribe me please
  245. Message-ID: <9210031149.AA1512574@curtiss.seas.ucla.edu>
  246. Newsgroups: fa.think-c
  247. Lines: 1
  248. Date: 3 Oct 92 11:49:25 GMT
  249.  
  250. Please cancel my subscription.
  251. 
  252. 
  253. Path: ucivax!gateway
  254. From: phils@chaos.cs.brandeis.edu (Phil Shapiro)
  255. Subject: Code Optimazation Problem
  256. Message-ID: <9210031403.AA23812@chaos.cs.brandeis.edu>
  257. In-Reply-To: darin s morley's message of 3 Oct 92 02:10:19 GMT <CMM-RU.1.3.718078210.dmorley@clam.rutgers.edu>
  258. Newsgroups: fa.think-c
  259. Lines: 67
  260. Date: 3 Oct 92 14:03:30 GMT
  261.  
  262. [ Register map coloring strikes again! Read below for details if you
  263. haven't heard of this problem before. ]
  264.  
  265. >>>>> On 3 Oct 92 02:10:19 GMT, darin s morley <dmorley@clam.rutgers.edu> said:
  266.  > I've noticed some strange behavior in the debugger when using code
  267.  > like the following:
  268.  
  269.  > #define        kDataType    float
  270.  
  271.  > class    FooBar
  272.  > {
  273.  >     virtual kDataType    Data();
  274.  >     virtual    Boolean        Bool();
  275.  > }
  276.  
  277.  > main()
  278.  > {
  279.  >     Boolean        boolVar;
  280.  >     kDataType    dataVar;
  281.  >     FooBar        *myFooBar;
  282.  
  283.  >     myFooBar = new FooBar;
  284.  >     boolVar = myFooBar->Bool();
  285.  >     dataVar = myFooBar->Data();
  286.  > }
  287.  
  288.  > Watching the values of boolVar and dataVar, I noticed that boolVar
  289.  > was 1 before myFooBar->Data() was invoked. However, it became zero
  290.  > afterward. I suspected a problem in the Data() method so I rewrote
  291.  > it:
  292.  
  293.  > kDataType    FooBar::Data( void )
  294.  > {
  295.  >     return    (kDataType) 0;
  296.  > }
  297.  
  298.  > ... and then I ran it again only to have the same problem.
  299.  > Apparently, the return value was the wrong size and was overwriting
  300.  > boolVar. I decided to play with the option settings to see what
  301.  > effect that would have. I turned "Native Floating Point Format"
  302.  > *off*, but that had no effect. I then turned "Code Optimization"
  303.  > *off*, and everything worked fine! Has anyone else noticed such
  304.  > anomalies when "Code Optimization" was on? Is there a known bug in
  305.  > the optimizer? Have I overlooked something?
  306.  
  307. The problem that you're running into is caused by using the debugger
  308. with optimized code; the code is correct (and will run fine), but the
  309. debugger displays incorrect results for some local variables.
  310.  
  311. This caused by the "register coloring" (or map coloring) optimization.
  312. It examines your code, and determines the lifetime of all variables
  313. (and temporaries) in a particular scope, and places variables whose
  314. lives don't overlap into the same register (or stack temporary). In
  315. your example above, the local variable "boolVar" was no longer needed
  316. after it was assigned to, so the compiler placed it and "dataVar" in
  317. the same retgister. When dataVar's value changed, boolVar's did as
  318. well.
  319.  
  320. As the User Manual recommends, the optimizer shouldn't be enabled when
  321. you're using the debugger, except in rare cases when optimized code
  322. exhibits behavior that non-opimized code does not.
  323.  
  324.     -phil
  325. ----
  326.    Phil Shapiro                                   Software Engineer
  327.    Language Products Group                     Symantec Corporation
  328.            Internet: phils@cs.brandeis.edu
  329. 
  330. 
  331. Path: ucivax!gateway
  332. From: Rich_Watts@dgc.ceo.dg.com
  333. Subject: ANSI putc()
  334. Message-ID: <9210041711.AB00107@rtp41.rtp.dg.com>
  335. Newsgroups: fa.think-c
  336. Lines: 8
  337. Date: 4 Oct 92 16:13:34 GMT
  338.  
  339.  
  340. HELP!!!
  341. Why doesn't this work!
  342. .
  343. if (putc(nodes[i].count, output->file) != (int)nodes[i].count);
  344.  
  345.  
  346.  
  347. 
  348. 
  349. Path: ucivax!gateway
  350. From: jimlynch@netcom.com (Jim Lynch)
  351. Subject: Re:  ANSI putc()
  352. Message-ID: <9210041856.AA24301@netcom2.netcom.com>
  353. Newsgroups: fa.think-c
  354. Lines: 14
  355. Date: 4 Oct 92 18:57:18 GMT
  356.  
  357. You have to be MUCH more specific than "Why doesn't this work?".
  358.  
  359. What compiler? What mac system version (_probably_ irrelevant)?
  360.  
  361. More important: What do you want it to do? What is the behavior from which
  362. you draw the conclusion that the code doesn't work?
  363.  
  364. Otherwise, I'm out in left field (or is it right field?) and I have no idea
  365. what the answer (or even the question) is.
  366.  
  367. Rich, I post to you personally because you sent the original question and I
  368. post to the net as a courtesy reminder.
  369.  
  370. -Jim (jimlynch@netcom.com)
  371. 
  372. 
  373. Path: ucivax!gateway
  374. From: igorl@uiuc.edu (Igor Livshits)
  375. Subject: Icon families
  376. Message-ID: <9210052340.AA10431@newton.ncsa.uiuc.edu>
  377. Newsgroups: fa.think-c
  378. Lines: 12
  379. Date: 5 Oct 92 23:40:42 GMT
  380.  
  381. Hello,
  382.  
  383. I am befuddled:  Is there a call that will fetch a handle to an icon family?
  384.  
  385. IM VI clearly states that a Notification Manager record will take either a
  386. handle to a SICN resource or a handle to an icon family.  Unfortunately, I
  387. have only seen examples with small icons.  If someone has successfully sent
  388. a color icon to the Notification Manager, please tell me how...
  389.  
  390.  
  391. Many thanks, igor
  392.  
  393. 
  394. 
  395. Path: ucivax!gateway
  396. From: jpff@maths.bath.ac.uk
  397. Subject: Floating point problems
  398. Via: uk.ac.bath.maths; Tue, 6 Oct 1992 10:45:11 +0100
  399. Message-ID: <9210060245.aa11081@q2.ics.uci.edu>
  400. Newsgroups: fa.think-c
  401. Lines: 22
  402. Date: 6 Oct 92 09:45:41 GMT
  403.  
  404. Message written at Sun Oct  4 17:10:24 BST 1992
  405.  
  406. We seem to have a problem which has been defeating me and colleagues for
  407. some weeks.
  408.   We have a reasonably large C program we have ported to various
  409. machines, but on the MAC it gives trouble.  The symptom is only in
  410. floating point.  I am working with 8 bytes doubles/4 byte ints, and I
  411. have recompiled all the libraries with that option.  The problem is
  412. inside atof, which calls all kinds of things, but eventually deep in
  413. scanf it calls fp68k from dtof; fp68k seems to be a bit of inline
  414. assembler.  The second call to fp68K, with arguments
  415.     fp68k(d, p, FOD2B + code)
  416. bombs at 0x000340ee
  417.   I do not understand what it is trying to do at this point, so
  418. deciding why it bombs seems rather hard!
  419.   Any suggestions would be appreciated.
  420.  
  421. ==John
  422.  
  423. PS: We did have a very short program which just called atof which
  424. collapsed, but with all the fiddling that seems to work now.
  425.  
  426. 
  427. 
  428. Path: ucivax!gateway
  429. From: C2MXBAR@fre.towson.edu (Aaron Barnett)
  430. Subject: >32k TextEdit
  431. Message-ID: <01GPMJ4QDQTE8WW772@TOE.TOWSON.EDU>
  432. Content-transfer-encoding: 7BIT
  433. MIME-version: 1.0
  434. Newsgroups: fa.think-c
  435. X-VMS-To: TOE::IN%"think-c@ics.uci.edu"
  436. Lines: 3
  437. Date: 6 Oct 92 14:43:37 GMT
  438. X-Envelope-to: think-c@ics.uci.edu
  439.  
  440. someone was asking for a class that supported >32k TextEditish stuff.
  441. was this ever found?
  442.  
  443. 
  444. 
  445. Path: ucivax!gateway
  446. From: KFISCHER@arac.llnl.gov (Kathleen Fischer)
  447. Subject: CPaneBorder (in color)
  448. Message-ID: <01GPMJ8S5BK0000AES@addvax.llnl.gov>
  449. Newsgroups: fa.think-c
  450. X-VMS-To: ADDVAX::IN%"think-c@ics.uci.EDU"
  451. Lines: 5
  452. Date: 6 Oct 92 17:46:55 GMT
  453. X-Envelope-to: think-c@ics.uci.EDU
  454.  
  455. Has anyone created a Color/GrayScale version of CPaneBorder that they would
  456. be willing to share?  Pleaaaaaaaassssee   :^)
  457.  
  458. Kathleen
  459. kfischer@arac.llnl.gov
  460. 
  461. 
  462. Path: ucivax!gateway
  463. From: igorl@uiuc.edu (Igor Livshits)
  464. Subject: Icon families
  465. Message-ID: <9210061845.AA05287@newton.ncsa.uiuc.edu>
  466. Newsgroups: fa.think-c
  467. Lines: 19
  468. Date: 6 Oct 92 18:45:58 GMT
  469.  
  470. Thank you to all who suggested TN 306 for icon families:  everything works
  471. great!
  472.  
  473. There is one problem with the C glue in the tech note.
  474. Prototypes for for the following:
  475.  
  476. pascal OSErr ForEachIconDo(Handle theSuite,long selector,ProcPtr
  477. action,void *yourDataPtr)
  478.         = {0x303C, 0x080A, 0xABC9};
  479.  
  480. pascal OSErr GetIconSuite(Handle *theIconSuite,short theResID,long
  481. selector)= {0x303C, 0x0501, 0xABC9};
  482.  
  483.  
  484. Should have long for selector, NOT short as is in the tech note.  Keeping
  485. it short causes a nasty bus error!
  486.  
  487. Igor
  488.  
  489. 
  490. 
  491. Path: ucivax!gateway
  492. From: gb2a+@andrew.cmu.edu ("George J. Baxter")
  493. Subject: Think C bug report
  494. Message-ID: <IeoSWdW00Uh_M5IV0q@andrew.cmu.edu>
  495. Newsgroups: fa.think-c
  496. Lines: 57
  497. Date: 6 Oct 92 19:28:48 GMT
  498.  
  499.  
  500. Howdy..
  501.     I have program, written in THINK C 5.0.3 (recent update).  My
  502. routine USED to work.. the problem is arising when I want to copy the
  503. first 'word' of a string into another string:
  504.  
  505.     while (*longString != ' ' && longString != (comLine + (long)(comLine[0]+1L)))
  506.            firstWord[i++] = *longString++;
  507.  
  508.     firstWord[i]=0;
  509.  
  510. (Basically, comLine is a pascal string, and longString is a character
  511. pointer initially pointing to the first character after comLine[0], ie,
  512. comLine[1].  I want firstWord as a 'C' string).
  513.  
  514. What occurs in the last line of the code fragment is that
  515. 'firstWord[i]=0' actually does this:
  516. firstWord[0]=0;
  517.  
  518. ie, it nukes my string.  In the debugger, everything is cool.. 'i' is
  519. the correct digit (it's a short), the array is unchanged.  When I put a
  520. DebugStr in right before the firstWord[i]=0, it WORKS.. so I took a look
  521. at the assembly in MacsBug and this is what is happening.
  522.  
  523. Without the debugstr, ie, when the code doesn't work, a2 gets initialized to
  524. -$28(a6,d3.W), which is the beginning of the string.. ie, firstWord[0].
  525. d3 is 'i', which at the beginning, is 0.  The firstWord[i]=0 assignment
  526. is CLR.b (A2)... which is WRONG!!!  Inside MacsBug, I can see my word is
  527. ok, then the first character gets nuked by the 'CLR.b (a2)' statement.
  528.  
  529. With the debugstr, it doesn't use A2... and the CLR.b is
  530. CLR.b -$28(a6,d3.W)
  531. and d3, at this point, is the correct short value for the end of the
  532. string, so the code works.
  533.  
  534. Hmmmmm.
  535.  
  536. I tried a work around also.. using a char *dummy:
  537.  
  538. dummy = firstWord+long(i);
  539. *dummy = 0;
  540.  
  541. and basically, the statement totally ignored the (long)i, both in the
  542. Think Debugger and in the assembly code.  To get it to work, I had to:
  543. dummy = firstWord;
  544. dummy += firstWord;
  545. *dummy = 0;
  546.  
  547. -George Baxter
  548.  
  549.  
  550. -----------------------
  551. gb2a@andrew.cmu.edu            baxter@a.cfr.cmu.edu
  552.  
  553. "Only a Hawaiian can say Humuhumunukunukuapuaa five times fast, correctly."
  554.  
  555. "I think we're in for a bad spell of wether."
  556. 
  557. 
  558. Path: ucivax!gateway
  559. From: de19@umail.umd.edu (Dana S Emery)
  560. Subject: Re: >32k TextEdit
  561. Message-ID: <Mailstrom.1.03b2.42359.15089.de19@umail.umd.edu>
  562. In-Reply-To: Your message <01GPMJ4QDQTE8WW772@TOE.TOWSON.EDU> of 6 Oct 92
  563.  14:43:37 GMT
  564. Content-Type: TEXT/plain; charset=US-ASCII
  565. Newsgroups: fa.think-c
  566. Lines: 26
  567. Date: 7 Oct 92 00:20:19 GMT
  568.  
  569. while not an exact substitute, CPEditText may suit your needs.
  570.  
  571. anaonymous ftp from
  572.  
  573.   ftp.brown.edu/pub/tcl/classes
  574.  
  575. I am working with it now.
  576.  
  577. It does not support 'wrap-to-frame' (TE line width of -1), although one could
  578. subclass it and mirror frame size change to a change in line width, I suspect
  579. that this would be expensive (time wise) for long files, as it forces a complete
  580. redetermination of line break.
  581.  
  582. Also not supported is multistyed text, although I suspect that one could
  583. subclass that as a summer long project.
  584.  
  585. Parameterized fixed width Tabs are supported, tho the UI is left up to you.
  586.  
  587. From what I have seen of it, the code quality is good, and comments are targeted
  588. to an experienced tcl audience, they are not tutorial.
  589.  
  590. --
  591. dana s emery <de19@umail.umd.edu>
  592.  
  593.  
  594.  
  595. 
  596. 
  597. Path: ucivax!gateway
  598. From: cdrivett@teaching.cs.adelaide.edu.au (CD RIVETT)
  599. Subject: random numbers
  600. Message-ID: <9210080847.AA04952@brian.teaching.cs.adelaide.edu.au>
  601. X-Mailer: ELM [version 2.4dev PL52]
  602. Newsgroups: fa.think-c
  603. Lines: 9
  604. Date: 8 Oct 92 08:47:35 GMT
  605.  
  606. Dear all,
  607.          I don't know if this is a faq but can any one shed
  608. light on the problem of getting random numbers (not using the
  609. ANSI rand calls as this is not random! It will yeild the
  610. same result every time you run it).Also does any one have any
  611. ideas abouyt how to do a random selectiion from a fixed set of
  612. elements WITHOUT resplacement.
  613.                                Thanks
  614.                                         Terry Hannant
  615. 
  616. 
  617. Path: ucivax!gateway
  618. From: CORMACK@psyvax.psy.utexas.edu
  619. Subject: Re: random numbers
  620. Message-ID: <9210080529.aa06095@q2.ics.uci.edu>
  621. Newsgroups: fa.think-c
  622. Lines: 30
  623. Date: 8 Oct 92 12:29:32 GMT
  624.  
  625. Hey,
  626.  
  627. CD Rivett writes:
  628. >light on the problem of getting random numbers (not using the
  629. >ANSI rand calls as this is not random! It will yeild the
  630. >same result every time you run it).Also does any one have any
  631.  
  632. No "random" number generator is; they all produce psuedo-random
  633. sequences of numbers.  Given the same seed, they will produce they
  634. same sequence every time.  This is actually an advantage most of the
  635. time.
  636.  
  637. Reseeding the random number generator with srand() before each
  638. call to rand() with, say, the number of seconds elapsed since midnight
  639. usually works well (unless you run you code at *exactly* the same time
  640. each day!).
  641.  
  642. Definitely consult "Numerical Recipies in C" for an excellent discussion
  643. of random # generators and code for various portable random # generators.
  644.  
  645.         -Larry
  646.  
  647. ---------------------------------------------------------------
  648.  
  649. Lawrence K. Cormack           |     cormack@psyvax.psy.utexas.edu
  650. Department of Psychology    |     w: (512) 471-3358
  651. U.T. Austin                            |     h: (512) 873-9464
  652.  
  653.  
  654.  
  655. 
  656. 
  657. Path: ucivax!gateway
  658. From: alan@kaman.com (Alan Piszcz)
  659. Subject: MORE INFO ON Re: random numbers
  660. Message-ID: <9210081326.AA01368@p1.kaman.com>
  661. Newsgroups: fa.think-c
  662. Lines: 50
  663. Date: 8 Oct 92 13:26:31 GMT
  664.  
  665.  
  666. cat t1
  667. Date: Thu, 30 Jul 92 19:50:13 CDT
  668. From: PC0TMYS <PC0TMYS%MUSIC.TCS.TULANE.EDU@VM.TCS.Tulane.EDU>
  669. Subject: [*] ultra101.hqx (math: random number generator)
  670.  
  671.      Arif Zaman and George Marsaglia of the Supercomputer Computations
  672. Research Institute at Florida State University recently developed a
  673. random number generator that has special features. They wrote an
  674. IBM/PC implementation of it in assembler and C, called ULTRA101.ZIP,
  675. which they uploaded to the network.
  676.  
  677.      I downloaded that file and converted their C program to run on the
  678. macintosh. I am submitting a Stuffit 1.5.1 archive containing this
  679. conversion and also the original IBM submission. I don't know in which
  680. directory this should be placed. Maybe, app or lang. It would be nice
  681. to have a "math" directory to put it in.
  682.  
  683.      I read about their program from the listserver PCTECH-L@TREARN
  684. when Jim Ritterbusch sent the following message on April 13, which
  685. I will quote:
  686.  
  687. A while ago, I sent a message searching for a random number generator that
  688. was a recent development in that it had a humongous period. A few of you
  689. replied directly expressing interest when and if I was able to get the
  690. information.
  691.  
  692. I have finally located it. I replied directly to those that asked, but in
  693. case any others of you are still lurking and waiting for the answer, here
  694. it is.
  695.  
  696. It was developed by Arif Zaman and George Marsaglia of the Supercomputer
  697. Computations Research Institute at Florida State University. It has a
  698. period of over 10^356 (or about 10^250 random numbers for each atom in
  699. the universe !).
  700.  
  701. An IBM/PC version including source code for assembler and C is available
  702. as the file ULTRA101.ZIP. I was able to anonymous ftp this from
  703. garbo.uwasa.fi iy to let it run at full speed (for instance
  704. when it is connected to the charger) without having to mess with extensions
  705. and/or controlpanels every time I switch from 'connected to wall-outlet' to
  706. 'running on battery'?
  707.  
  708. Any help would be appreciated...
  709.  
  710. Regards,
  711. Adam van Gaalen (  adam@igg.tno.nl)
  712.              or (pa2aga@igg.tno.nl)
  713.  
  714. p1.kaman.com:/home/guppy/alan_21 %
  715. 
  716. 
  717. Path: ucivax!gateway
  718. From: C2MXBAR@fre.towson.edu (Aaron Barnett)
  719. Subject: tcl address
  720. Message-ID: <01GPPBKF73CY8WWF7P@TOE.TOWSON.EDU>
  721. Content-transfer-encoding: 7BIT
  722. MIME-version: 1.0
  723. Newsgroups: fa.think-c
  724. X-VMS-To: TOE::IN%"think-c@ics.uci.edu"
  725. Lines: 2
  726. Date: 8 Oct 92 14:43:02 GMT
  727. X-Envelope-to: think-c@ics.uci.edu
  728.  
  729. i know, i should have noted one of the thirty times it was posted.
  730. anyway: what is the address for the tcl discussion list?
  731. 
  732. 
  733. Path: ucivax!gateway
  734. From: SCHENKL@vax.cs.hscsyr.edu
  735. Subject: Installing time manager tasks at startup
  736. Message-ID: <921008202533.208012ca@vax.cs.hscsyr.edu>
  737. Newsgroups: fa.think-c
  738. Lines: 9
  739. Date: 9 Oct 92 00:29:52 GMT
  740. X-Vmsmail-To: SMTP%"think-c@ics.uci.edu"
  741.  
  742.  
  743. Any information/hints/things to be aware of on installing a task that will
  744. run at say, every 30 minutes, after booting up?
  745.  
  746. I have a INIT, that I have detached the resource and it is in the system
  747. heap, but when I try something like "InsTime" and "PrimeTime" it doesn't
  748. seem to work.  Anyone know?
  749.  
  750. I'll post the code if anybody thinks that that would help.
  751. 
  752. 
  753. Path: ucivax!gateway
  754. From: C2MXBAR@fre.towson.edu (Aaron Barnett)
  755. Subject: ADmodule vs. Word 5.0
  756. Message-ID: <01GPPQ9NXK9U8WWGU8@TOE.TOWSON.EDU>
  757. Content-transfer-encoding: 7BIT
  758. MIME-version: 1.0
  759. Newsgroups: fa.think-c
  760. X-VMS-To: TOE::IN%"think-c@ics.uci.edu"
  761. Lines: 5
  762. Date: 9 Oct 92 02:01:55 GMT
  763. X-Envelope-to: think-c@ics.uci.edu
  764.  
  765. I wrote an after dark module that does fine until i leave it and
  766. word is running.  besides sympathy i'd like some leads on how to track
  767. down a problem like this.
  768.  
  769. aaron
  770. 
  771. 
  772. Path: ucivax!gateway
  773. From: pchang@cs.stanford.edu (The Weasel)
  774. Subject: Re: random numbers
  775. Message-ID: <9210090516.AA04337@Xenon.Stanford.EDU>
  776. In-Reply-To: <9210080529.aa06095@q2.ics.uci.edu>; from "CORMACK@psyvax.psy.utexas.edu" at Oct 8, 92 12:29 pm
  777. X-Mailer: ELM [version 2.3 PL11]
  778. Newsgroups: fa.think-c
  779. Lines: 34
  780. Date: 9 Oct 92 05:16:56 GMT
  781.  
  782. CORMACK@psyvax.psy.utexas.edu writes:
  783. >
  784. > Hey,
  785. >
  786. > CD Rivett writes:
  787. > >light on the problem of getting random numbers (not using the
  788. > >ANSI rand calls as this is not random! It will yeild the
  789. > >same result every time you run it).Also does any one have any
  790. >
  791. > No "random" number generator is; they all produce psuedo-random
  792. > sequences of numbers.  Given the same seed, they will produce they
  793. > same sequence every time.  This is actually an advantage most of the
  794. > time.
  795. >
  796. > Reseeding the random number generator with srand() before each
  797. > call to rand() with, say, the number of seconds elapsed since midnight
  798. > usually works well (unless you run you code at *exactly* the same time
  799. > each day!).
  800.  
  801. Actuallyou should seed the random number generator once when initializing
  802. your application, and then you should not need to worry about it again. I
  803. remember discussing this in one of my simulation classes, and seeding it
  804. over and over may possibly produ poor results depending on where you are
  805. getting the seed values from.
  806.  
  807. I often use GetDateTime(&randSeed); in my initialization phase, and then
  808. make calls to the Toolbox Random() when I need a random number. The bonus
  809. of using one call to seed is that if you need to repeat a stream of "random"
  810. numbers al you have to do is start with the same seed.
  811.  
  812. I hope this helps.
  813.  
  814.  
  815. Peter
  816. 
  817. 
  818. Path: ucivax!gateway
  819. From: de19@umail.umd.edu (Dana S Emery)
  820. Subject: Re: random numbers
  821. Message-ID: <Mailstrom.1.03b2.40038.19928.de19@umail.umd.edu>
  822. In-Reply-To: Your message
  823.  <9210080847.AA04952@brian.teaching.cs.adelaide.edu.au> of 8 Oct 92 08:47:35
  824.  GMT
  825. Content-Type: TEXT/plain; charset=US-ASCII
  826. Newsgroups: fa.think-c
  827. Lines: 16
  828. Date: 9 Oct 92 06:18:08 GMT
  829.  
  830. >   It will yeild the same result every time you run it).
  831.  
  832. a damn good thing, when you are debugging.
  833.  
  834. When you are in production mode, you are supposed to provide a varied seed.   A
  835. hash of the current time and the user name (or what ever else strikes your
  836. fancy) serves for most of us, if you want to you could park the last seed, and
  837. use it as the next seed.
  838.  
  839. Of course, you could always roll your own, look to CACM for more info, random
  840. number generators are a popular subject, and several strategys exist, deciding
  841. on one may be your hardest job.
  842.  
  843. --
  844. dana s emery <de19@umail.umd.edu>
  845.  
  846. 
  847. 
  848. Path: ucivax!gateway
  849. From: CORMACK@psyvax.psy.utexas.edu
  850. Subject: Re: random numbers
  851. Message-ID: <9210090539.aa08818@q2.ics.uci.edu>
  852. Newsgroups: fa.think-c
  853. Lines: 17
  854. Date: 9 Oct 92 12:39:42 GMT
  855.  
  856. From "The Weasel:"
  857.  
  858. >Actuallyou should seed the random number generator once when initializing
  859. >your application, and then you should not need to worry about it again. I
  860.  
  861. This is correct.  Sorry for the mis-type in my original reply.
  862.  
  863.         -Larry
  864.  
  865. ---------------------------------------------------------------
  866.  
  867. Lawrence K. Cormack           |     cormack@psyvax.psy.utexas.edu
  868. Department of Psychology    |     w: (512) 471-3358
  869. U.T. Austin                            |     h: (512) 873-9464
  870.  
  871.  
  872.  
  873. 
  874. 
  875. Path: ucivax!gateway
  876. From: Scott_Howard@qms1.life.uiuc.edu (Scott Howard)
  877. Subject: Writing to custom resources
  878. Message-ID: <199210091351.AA27704@ux1.cso.uiuc.edu>
  879. Return-Receipt-To: "Scott Howard" <Scott_Howard@qms1.life.uiuc.edu>
  880. Newsgroups: fa.think-c
  881. Lines: 11
  882. Date: 9 Oct 92 13:51:59 GMT
  883.  
  884. REGARDING                Writing to custom resources
  885. I've just started programming on the Mac and haven't had the funds or luck to
  886. get the Toolbox Utilities IM books, so please accept my apologies if this seems
  887. like a lazy or stupid question:
  888.  
  889. How do you write into an open resource file? I made a custom resource type,
  890. 'PREF', ID 128. Thanks to some Apple DTS Code, I've managed to find the file on
  891. the disk, open the resource, put a handle to it, lock it down, but want to
  892. write two boolean variables to the file and save it.
  893.  
  894.  
  895. 
  896. 
  897. Path: ucivax!gateway
  898. From: macknik@uhunix.uhcc.hawaii.edu ("Elizabeth A. Macknik")
  899. Subject: Random Numbers
  900. Message-ID: <Pine.3.03.9210090314.A874-b100000@uhunix.uhcc.Hawaii.Edu>
  901. Content-Type: TEXT/PLAIN; charset=US-ASCII
  902. Mime-Version: 1.0
  903. Newsgroups: fa.think-c
  904. Lines: 36
  905. Date: 9 Oct 92 13:59:27 GMT
  906.  
  907. To produce random numbers, I call the Toolbox function Random().  Random()
  908. is seeded by the global randSeed.  The best way to set randSeed is to
  909. call GetDateTime(&randSeed).  randSeed should only be set once.  Random()
  910. will produce a set of integer random numbers in the range -32767 to 32767.
  911. (I'm not sure these are the exact values; check the Quickdraw chapter of
  912. Inside Macintosh.)
  913.  
  914. If you use an identical seed value, you will get an identical series of
  915. numbers from Random().  (Or any psuedo-random number generator.)
  916. This is a good way to test your program, but remember to change the
  917. seeding before you compile your production version.
  918.  
  919. GetDateTime() will set a fairly unique seed to begin the sequence of numbers.
  920. Do not call GetDateTime() repeatedly or you will be seeding the random number
  921. generator with a series of numbers that are fairly close together.  This
  922. can produce undesirable results.  In a program I wrote to shuffle a deck
  923. of cards, I reset the seed each time I wanted to shuffle the deck, but
  924. just called Random() to decide which card would come next within the
  925. shuffle routine.
  926.  
  927. To recap:
  928.  
  929.     short    myShort;
  930.  
  931.     GetDateTime(&randSeed);  // Seed random # generator with unique value
  932.                              // Call only once. (randSeed is a Quickdraw
  933.                              // global)
  934.  
  935.     myShort = Random();  // Call every time you need a random number.
  936.  
  937.  
  938. Elizabeth A. Macknik                             macknik@uhunix.uhcc.hawaii.edu
  939. Computer Specialist, College of Education        Voice (808) 956-6855
  940. University of Hawaii                             FAX:  (808) 956-4114
  941.  
  942.  
  943. 
  944. 
  945. Path: ucivax!gateway
  946. From: macknik@uhunix.uhcc.hawaii.edu ("Elizabeth A. Macknik")
  947. Subject: Printing Projects within Think C
  948. Message-ID: <Pine.3.03.9210090337.B874-a100000@uhunix.uhcc.Hawaii.Edu>
  949. Content-Type: TEXT/PLAIN; charset=US-ASCII
  950. Mime-Version: 1.0
  951. Newsgroups: fa.think-c
  952. Lines: 14
  953. Date: 9 Oct 92 14:05:05 GMT
  954.  
  955. Has anyone produced a Think C add-on that will print all of the text files
  956. associated with a given project?  I would like to be able to designate a
  957. previous print date and have all files with newer modification dates
  958. be printed.  I like to keep current printouts of my source code, but it
  959. is difficult to keep track of which files have changed.
  960.  
  961. If no one has made such an add-on, how many of you would use such a program?
  962. I may tackle it if there is enough interest.
  963.  
  964. Elizabeth A. Macknik                             macknik@uhunix.uhcc.hawaii.edu
  965. Computer Specialist, College of Education        Voice (808) 956-6855
  966. University of Hawaii                             FAX:  (808) 956-4114
  967.  
  968.  
  969. 
  970. 
  971. Path: ucivax!gateway
  972. From: jmh@cccr.bwh.harvard.edu (john m higgins)
  973. Subject: (none)
  974. Message-ID: <9210091534.AA29787@cccr.bwh.harvard.edu>
  975. Newsgroups: fa.think-c
  976. Lines: 22
  977. Date: 9 Oct 92 15:40:56 GMT
  978.  
  979. I need some help controlling colors in pixel maps and maintaining color
  980. fidelity when I copybits on and offscreen.
  981.  
  982. I draw a picture in a window, creating a custom color palette as I go.  I
  983. copybits this picture to an offscreen port for later use.  When I
  984. copybits from the offscreen port back to the window, the colors are screwed
  985. up.  For instance, if I draw a ramp from black to white to black using 254
  986. grayscales, and I copy it offscreen and back, I lose 252 grayscales.
  987.  
  988. I make sure that my custom palette is the active palette of the current port
  989. when I create the offscreen port.  I have read that this should ensure that
  990. my offscreen port has the right colors.  It doesn't seem to.
  991.  
  992. Where do the colors go when I SetPalette and ActivatePalette?  I have looked
  993. in the (**portPixMap).pmTable, and they do not seem to have gone there.
  994.  
  995.  
  996. Any suggestions would be greatly appreciated.
  997.  
  998.  
  999. John Higgins
  1000. jmh@cccr.bwh.harvard.edu
  1001. 
  1002. 
  1003. Path: ucivax!gateway
  1004. From: nagel@ics.uci.edu (Mark Nagel)
  1005. Subject: ADMIN: bouncing mail
  1006. Message-ID: <2829.718652654@ics.uci.edu>
  1007. Newsgroups: fa.think-c
  1008. Reply-To: think-c-request@ics.uci.edu
  1009. Lines: 12
  1010. Date: 9 Oct 92 17:44:23 GMT
  1011.  
  1012. Just to let everyone know, the electronic mail system here at UCI is
  1013. configured to direct errors back to me, not the entire list.
  1014. Unfortunately, some brain-dead mail systems out there do not check
  1015. the mail envelope information, but rather examine the mail headers
  1016. to determine to whom to send error reports.  This is incorrect behavior
  1017. that I can do little about (other than banning such sites from the
  1018. list).  If you do get a bounced message as a result of posting
  1019. something to this list, please let me know so I can remove the
  1020. offending address from the list.
  1021.  
  1022. Thanks,
  1023. Mark
  1024. 
  1025. 
  1026. Path: ucivax!gateway
  1027. From: huff@mcclb0.med.nyu.edu ("Edward J. Huff")
  1028. Subject: RE: random numbers
  1029. Message-ID: <01GPQWG1RB8I000AIJ@MCCLB0.MED.NYU.EDU>
  1030. Content-transfer-encoding: 7BIT
  1031. Newsgroups: fa.think-c
  1032. Lines: 19
  1033. Date: 9 Oct 92 17:47:47 GMT
  1034. X-Envelope-to: think-c@ics.uci.edu
  1035.  
  1036. >CORMACK@psyvax.psy.utexas.edu writes:
  1037. >[...]
  1038. >I often use GetDateTime(&randSeed); in my initialization phase, and then
  1039. >make calls to the Toolbox Random() when I need a random number.
  1040. >[...]
  1041. >Peter
  1042.  
  1043. The toolbox random number generator is VERY substandard.  Avoid it.
  1044.  
  1045. I read somewhere that the Sane random number generator is supposed
  1046. to be an implementation of the "minimal standard" described in
  1047. CACM a few years ago, and it probably is, but I do not know that for a
  1048. fact.
  1049.  
  1050. --
  1051. Edward J. Huff   huff@mcclb0.med.nyu.edu   (212)998-8465
  1052. Keck Laboratory for Biomolecular Imaging
  1053. NYU Chemistry Deptartment, 31 Washington Place, New York NY 10003
  1054.  
  1055. 
  1056. 
  1057. Path: ucivax!gateway
  1058. From: nagel@ics.uci.edu (Mark Nagel)
  1059. Subject: ADMIN: more mailer gotchas
  1060. Message-ID: <3225.718652992@ics.uci.edu>
  1061. Newsgroups: fa.think-c
  1062. Reply-To: nagel@ics.uci.edu
  1063. Lines: 10
  1064. Date: 9 Oct 92 17:50:03 GMT
  1065.  
  1066. I've noticed an increasing frequency of messages being sent to
  1067. think-c-request when they seem to be intended to go to the list.
  1068. This appears to be because the mailer 'reply' command is selecting
  1069. the wrong reply-to address.  Please double-check to whom your
  1070. message is being sent before actually sending it.  There may be a
  1071. day or two delay period if the message is sent to think-c-request
  1072. rather than think-c.
  1073.  
  1074. Thanks,
  1075. Mark
  1076. 
  1077. 
  1078. Path: ucivax!gateway
  1079. From: KDLEE@alex.stkate.edu
  1080. Subject: RE: random numbers
  1081. Message-ID: <921008084317.20235cc9@ALEX.STKATE.EDU>
  1082. Newsgroups: fa.think-c
  1083. Lines: 11
  1084. Date: 9 Oct 92 17:50:29 GMT
  1085. X-Vmsmail-To: SMTP%"fa.think-c-outbound-request@ics.uci.edu"
  1086.  
  1087. Terry,
  1088. The ansi library rand will give you a different set of numbers if you
  1089. set the seed differently each time.  To do this get the current tickcount
  1090. and use it as the seed.
  1091.  
  1092. To do it without repeating numbers scale the random numbers to be integers
  1093. and use them as indexes into a boolean array that tells you whether the
  1094. number has already been used.  If it is already used try random until you get
  1095. the first one that is not used.
  1096.  
  1097. Kevin Lee
  1098. 
  1099. 
  1100. Path: ucivax!gateway
  1101. From: KDLEE@alex.stkate.edu
  1102. Subject: Re: random numbers
  1103. Message-ID: <921008084613.20235cc9@ALEX.STKATE.EDU>
  1104. Newsgroups: fa.think-c
  1105. Lines: 7
  1106. Date: 9 Oct 92 17:51:00 GMT
  1107. X-Vmsmail-To: SMTP%"fa.think-c-outbound-request@ics.uci.edu"
  1108.  
  1109. >Reseeding the random number generator with srand() before each
  1110. >call to rand() with, say, the number of seconds elapsed since midnight
  1111.  
  1112. Actually, you should only do srand once when your program starts up.
  1113. From then on let rand handle updating the seed.
  1114.  
  1115. Kevin Lee
  1116. 
  1117. 
  1118. Path: ucivax!gateway
  1119. From: SCHENKL@vax.cs.hscsyr.edu
  1120. Subject: RE: random numbers
  1121. Message-ID: <921008152553.20800ea5@vax.cs.hscsyr.edu>
  1122. Newsgroups: fa.think-c
  1123. Lines: 14
  1124. Date: 9 Oct 92 18:03:54 GMT
  1125. X-Vmsmail-To: SMTP%"fa.think-c-outbound-request@ics.uci.edu"
  1126.  
  1127.  
  1128. If your program is a mac program, you could just make the call :
  1129.  
  1130. GetDateTime ( &randSeed );
  1131.  
  1132. Which would seed the "random" number generator with the current time, so
  1133. it will always be different.  (I don't know about the ANSI library,
  1134. but I bet that they call the toolbox function "Random()" and the above
  1135. solution works well for that.)
  1136.  
  1137. About the second question: I think that you lost me on that one. Explain
  1138. it to me again (I'm a little dense) and maybe I could help you.
  1139.  
  1140. Will Schenk - Dumbest 15 year old on the net.
  1141. 
  1142. 
  1143. Path: ucivax!gateway
  1144. From: huff@mcclb0.med.nyu.edu ("Edward J. Huff")
  1145. Subject: Re: colors and pixmaps...
  1146. Message-ID: <01GPR8BO6S6Q000CQF@MCCLB0.MED.NYU.EDU>
  1147. Content-transfer-encoding: 7BIT
  1148. Newsgroups: fa.think-c
  1149. Lines: 94
  1150. Date: 9 Oct 92 23:27:48 GMT
  1151. X-Envelope-to: think-c@ics.uci.edu
  1152.  
  1153. >I need some help controlling colors in pixel maps and maintaining color
  1154. >fidelity when I copybits on and offscreen.
  1155.  
  1156. Obtain NIH Image from alw.nih.gov directory /pub/image, or elsewhere.
  1157. Look in lut.p and other files for the code used to set up the
  1158. palettes.  It is not hard to find, and should be easy to translate to C.
  1159.  
  1160.  
  1161. from lut.p:
  1162.  
  1163.  procedure UpdateLUT;
  1164.   var
  1165.    MaxStart, i, v, index, last: integer;
  1166.    inc, sIndex: LongInt;
  1167.  begin
  1168.   with info^ do begin
  1169.     sIndex := 0;
  1170.     if ColorEnd > ColorStart then
  1171.      inc := LongInt(nColors) * 10000 div (ColorEnd - ColorStart)
  1172.     else
  1173.      inc := 2560000;
  1174.     if ColorStart < 0 then
  1175.      sIndex := -ColorStart * Inc
  1176.     else
  1177.      sIndex := 0;
  1178.     last := nColors - 1;
  1179.     for i := 0 to 255 do
  1180.      with cTable[i].rgb do begin
  1181.        if (i < ColorStart) or (i > ColorEnd) then begin
  1182.        if i < ColorStart then
  1183.        cTable[i].rgb := FillColor1
  1184.        else
  1185.        cTable[i].rgb := FillColor2;
  1186.        end
  1187.        else begin
  1188.        index := sIndex div 10000;
  1189.        if index > last then
  1190.        index := last;
  1191.        Red := bsl(RedLUT[index], 8);
  1192.        Green := bsl(GreenLUT[index], 8);
  1193.        Blue := bsl(BlueLUT[index], 8);
  1194.        sIndex := sIndex + inc;
  1195.        end;
  1196.       end; {for}
  1197.     LoadLUT(cTable);
  1198.     IdentityFunction := false;
  1199.    end;
  1200.  end;
  1201.  
  1202.  
  1203. from utilities.p:
  1204.  
  1205.  procedure LoadLUT (table: MyCSpecArray);
  1206.   var
  1207.    i, entry, screen: integer;
  1208.    cPtr: ^cSpecArray;
  1209.    SaveDevice: GDHandle;
  1210.  begin
  1211.   if nExtraColors > 0 then begin
  1212.     entry := FirstExtraColorsEntry;
  1213.     for i := 1 to nExtraColors do begin
  1214.       table[entry].rgb := ExtraColors[i];
  1215.       entry := entry + 1;
  1216.      end;
  1217.    end;
  1218.   for i := 1 to 254 do {Work around needed for 32-bit QuickDraw}
  1219.    with table[i].rgb do
  1220.     if (red = 0) and (green = 0) and (blue = 0) then begin
  1221.       red := 256;
  1222.       green := 256;
  1223.       blue := 256;
  1224.      end;
  1225.   cPtr := @table[1];
  1226.   SaveDevice := GetGDevice;
  1227.   for screen := 1 to nMonitors do begin
  1228.     SetGDevice(Monitors[screen]);
  1229.     for i := 1 to 254 do begin
  1230.       ProtectEntry(i, false);
  1231.       ReserveEntry(i, false);
  1232.      end;
  1233.     SetEntries(1, 253, cPtr^);
  1234.    end;
  1235.   SetGDevice(SaveDevice);
  1236.  end;
  1237.  
  1238.  
  1239. etc..., search for nMonitors to see where that got set up, MyCSpecArray
  1240. is defined in globals.p, etc.
  1241.  
  1242. --
  1243. Edward J. Huff   huff@mcclb0.med.nyu.edu   (212)998-8465
  1244. Keck Laboratory for Biomolecular Imaging
  1245. NYU Chemistry Deptartment, 31 Washington Place, New York NY 10003
  1246.  
  1247. 
  1248. 
  1249. Path: ucivax!gateway
  1250. From: pchang@cs.stanford.edu (The Weasel)
  1251. Subject: RE: random numbers
  1252. Message-ID: <9210100218.AA01798@Xenon.Stanford.EDU>
  1253. In-Reply-To: <01GPQWG1RB8I000AIJ@MCCLB0.MED.NYU.EDU>; from "Edward J. Huff" at Oct 9, 92 5:47 pm
  1254. X-Mailer: ELM [version 2.3 PL11]
  1255. Newsgroups: fa.think-c
  1256. Lines: 32
  1257. Date: 10 Oct 92 02:19:08 GMT
  1258.  
  1259. Edward J. Huff writes:
  1260. >
  1261. > >CORMACK@psyvax.psy.utexas.edu writes:
  1262. > >[...]
  1263. > >I often use GetDateTime(&randSeed); in my initialization phase, and then
  1264. > >make calls to the Toolbox Random() when I need a random number.
  1265. > >[...]
  1266. > >Peter
  1267. >
  1268. > The toolbox random number generator is VERY substandard.  Avoid it.
  1269. >
  1270. > I read somewhere that the Sane random number generator is supposed
  1271. > to be an implementation of the "minimal standard" described in
  1272. > CACM a few years ago, and it probably is, but I do not know that for a
  1273. > fact.
  1274. >
  1275.  
  1276. What makes it sub-standard? It is the linear congruential generator that
  1277. a lot generators are based on. There are better generators around, but
  1278. I would venture to say that few are as easy to implement and give as
  1279. good results.
  1280.  
  1281. I don't mean to be rude here, but it isn't that bad as long as you
  1282. give it a good seed.
  1283.  
  1284. Peter
  1285.  
  1286. --
  1287. Peter Chang                     |  "My doctor says that I have a malformed
  1288. E-Mail: pchang@cs.stanford.edu  |   public duty gland and a natural deficiency
  1289. Snail Mail: PO Box 9603         |   of moral fiber..."
  1290.             Stanford, CA  94309 |                 Ford Prefect, HHGTTG
  1291. 
  1292. 
  1293. Path: ucivax!gateway
  1294. From: vilot@bigboy.cis.temple.edu (Tom Vilot)
  1295. Subject: RE: >32K TextEdit Class
  1296. Message-ID: <Pine.2.4.55.9210111333.A2636@bigboy.cis.temple.edu>
  1297. Newsgroups: fa.think-c
  1298. Lines: 11
  1299. Date: 11 Oct 92 17:23:14 GMT
  1300.  
  1301.  
  1302. There is a class called CPEditText which I found on America Online. I am
  1303. sure it exists on other FTP archives. If anyone can't find it, I would be
  1304. happy to email it to you.
  1305.  
  1306. It handles large TextEdit records, and even allows adjusting some
  1307. parameters such as tab indents and the display of invisible characters.
  1308. Pretty neat.
  1309.  
  1310. Tom
  1311.  
  1312. 
  1313. 
  1314. Path: ucivax!gateway
  1315. From: C2MXBAR@fre.towson.edu (Aaron Barnett)
  1316. Subject: quicktime
  1317. Message-ID: <01GPU8KAMFVM8WWQBI@TOE.TOWSON.EDU>
  1318. Content-transfer-encoding: 7BIT
  1319. MIME-version: 1.0
  1320. Newsgroups: fa.think-c
  1321. X-VMS-To: TOE::IN%"think-c@ics.uci.edu"
  1322. Lines: 10
  1323. Date: 12 Oct 92 03:09:27 GMT
  1324. X-Envelope-to: think-c@ics.uci.edu
  1325.  
  1326. hi,
  1327.   i want to do some quicktime stuff (don't have IM VI), so i went
  1328. down to the old ftp.apple.com.  oh my the c-sample code is 2MG.
  1329. obviously they are c-bigots down there cuz the pascal sample is only 400K.
  1330. anyway the big deal is that i have a 1200 baud modem(throw fruit) and
  1331. i do not download 2MG files.  why this sensless discrimination?
  1332. anyone got a simple player code or something within reason i can get.
  1333.  
  1334. thanks
  1335. aaron
  1336. 
  1337. 
  1338. Path: ucivax!gateway
  1339. From: de19@umail.umd.edu (Dana S Emery)
  1340. Subject: Re: >32K TextEdit Class
  1341. Message-ID: <Mailstrom.1.03b2.45168.-3114.de19@umail.umd.edu>
  1342. In-Reply-To: Your message
  1343.  <Pine.2.4.55.9210111333.A2636@bigboy.cis.temple.edu> of 11 Oct 92 17:23:14
  1344.  GMT
  1345. Content-Type: TEXT/plain; charset=US-ASCII
  1346. Newsgroups: fa.think-c
  1347. Lines: 16
  1348. Date: 12 Oct 92 08:32:42 GMT
  1349.  
  1350. As a caveat to my former post,
  1351.  
  1352. CPEditText is not a panacea, it assumes that all lines break only on CR, which
  1353. is appropriate for programming editors (which it was intended for), but is not
  1354. in any sense a general TE replacement.
  1355.  
  1356. Although CPEditText advertises display of invisible characters, it does so by
  1357. substitution with little used character codes, which is a cludge at best.
  1358.  
  1359. I am working on a subclass to handle wrapToFrame, wrapToPage, and
  1360. wrapToFixedColumn, and intend to post the results at the TCL-Talk archives when
  1361. I succeed.
  1362.  
  1363. --
  1364. dana s emery <de19@umail.umd.edu>
  1365.  
  1366. 
  1367. 
  1368. Path: ucivax!gateway
  1369. From: carlacio@vxcrna.cern.ch
  1370. Subject: Symantec numbers
  1371. Message-ID: <9210121622.AA11146@dxmint.cern.ch>
  1372. Newsgroups: fa.think-c
  1373. Lines: 5
  1374. Date: 12 Oct 92 16:23:35 GMT
  1375. X-Mail11-Ostype: VAX/VMS
  1376.  
  1377. Somebody know the FAX number of Symantec ?
  1378.  
  1379. Thanks.
  1380.                 Carlo De Vecchi.
  1381.                 CARLACIO@VXCERN.CERN.CH
  1382. 
  1383. 
  1384. Path: ucivax!gateway
  1385. From: huff@mcclb0.med.nyu.edu ("Edward J. Huff")
  1386. Subject: RE: random numbers
  1387. Message-ID: <01GPVESHULPU000NZ7@MCCLB0.MED.NYU.EDU>
  1388. Content-transfer-encoding: 7BIT
  1389. Newsgroups: fa.think-c
  1390. Lines: 134
  1391. Date: 12 Oct 92 23:16:22 GMT
  1392. X-Envelope-to: think-c@ics.uci.edu
  1393.  
  1394. Peter Chang writes:
  1395. >Edward J. Huff writes:
  1396. >>
  1397. >> >CORMACK@psyvax.psy.utexas.edu writes:
  1398. >> >[...]
  1399. >> >I often use GetDateTime(&randSeed); in my initialization phase, and then
  1400. >> >make calls to the Toolbox Random() when I need a random number.
  1401. >> >[...]
  1402. >> >Peter
  1403. >>
  1404. >> The toolbox random number generator is VERY substandard.  Avoid it.
  1405. >>
  1406. >> I read somewhere that the Sane random number generator is supposed
  1407. >> to be an implementation of the "minimal standard" described in
  1408. >> CACM a few years ago, and it probably is, but I do not know that for a
  1409. >> fact.
  1410. >>
  1411. >
  1412. >What makes it sub-standard? It is the linear congruential generator that
  1413. >a lot generators are based on. There are better generators around, but
  1414. >I would venture to say that few are as easy to implement and give as
  1415. >good results.
  1416. >
  1417. >I don't mean to be rude here, but it isn't that bad as long as you
  1418. >give it a good seed.
  1419. >
  1420. >Peter
  1421. >
  1422. Here is the toolbox random number generator from a Quadra 950:
  1423.  
  1424.  
  1425.                                  ;-        $A861  Random:INTEGER
  1426.  
  1427.   82EB20: 2055           ' U'    Random   MOVEA.L (A5),A0
  1428.   82EB22: 303C 41A7      '0<A.'           MOVE    #$41A7,D0
  1429.   82EB26: 3400           '4.'             MOVE    D0,D2
  1430.   82EB28: C0E8 FF84      '....'           MULU    -124(A0),D0
  1431.   82EB2C: 2200           '".'             MOVE.L  D0,D1
  1432.   82EB2E: 4241           'BA'             CLR     D1
  1433.   82EB30: 4841           'HA'             SWAP    D1
  1434.   82EB32: C4E8 FF82      '....'           MULU    -126(A0),D2
  1435.   82EB36: D481           '..'             ADD.L   D1,D2
  1436.   82EB38: 2202           '".'             MOVE.L  D2,D1
  1437.   82EB3A: D281           '..'             ADD.L   D1,D1
  1438.   82EB3C: 4241           'BA'             CLR     D1
  1439.   82EB3E: 4841           'HA'             SWAP    D1
  1440.   82EB40: 0280 0000 FFFF '......'         ANDI.L  #$FFFF,D0
  1441.   82EB46: 0480 7FFF FFFF '......'         SUBI.L  #$7FFFFFFF,D0
  1442.   82EB4C: 0282 0000 7FFF '......'         ANDI.L  #$7FFF,D2
  1443.   82EB52: 4842           'HB'             SWAP    D2
  1444.   82EB54: D481           '..'             ADD.L   D1,D2
  1445.   82EB56: D082           '..'             ADD.L   D2,D0
  1446.   82EB58: 6A06           $82EB60          BPL.S   mtx_1
  1447.   82EB5A: 0680 7FFF FFFF '......'         ADDI.L  #$7FFFFFFF,D0
  1448.   82EB60: 2140 FF82      '!@..'  mtx_1    MOVE.L  D0,-126(A0)
  1449.   82EB64: 0C40 8000      '.@..'           CMPI    #$8000,D0
  1450.   82EB68: 6602           $82EB6C          BNE.S   mtx_2
  1451.   82EB6A: 4240           'B@'             CLR     D0
  1452.   82EB6C: 3F40 0004      '?@..'  mtx_2    MOVE    D0,4(A7)
  1453.   82EB70: 4E75           'Nu'             RTS
  1454.  
  1455. From Inside Macintosh:
  1456.  
  1457. pascal short Random(void)
  1458.     = 0xA861;
  1459. File {CIncludes}Quickdraw.h
  1460. Inside Macintosh reference: I-194
  1461. Trap number: A861
  1462. This function returns a pseudo-random integer, uniformly distributed in the
  1463. range  32767 through 32767. The value the sequence starts from depends on
  1464. the global variable randSeed, which InitGraf initializes to 1. To start the
  1465. sequence over again from where it began, reset randSeed to 1. To start a
  1466. new sequence each time, you must reset randSeed to a random number.
  1467.  
  1468. Note:  You can start a new sequence by storing the current date and time
  1469.        in randSeed; see GetDateTime in the Operating System Utilities
  1470. chapter.
  1471.  
  1472. Assembly-language note:  From assembly language, it's better to start a new
  1473.                          sequence by storing the value of the system global
  1474.                          variable RndSeed in randSeed.
  1475.  
  1476. ... end IM quote...
  1477.  
  1478.  
  1479. First off, it isn't uniformly distributed, zero has twice the probablility
  1480. of occurring as any other particular value.  Not such a terribly fault.
  1481.  
  1482. The generator returns a 16 bit value (but never -32768), but the internal
  1483. state is a 32 bit value, so that the maximum possible period is 2^32, i.e.
  1484. about 4.3 billion.  No so long when you start doing some calculations.
  1485.  
  1486. My main complaint is that unless someone shows me that it is the minimal
  1487. standard generator (and I think it isn't, because that CACM article did not
  1488. say that the Mac generator was the minimal standard), I must assume that it
  1489. is does not meet the minimal standard.  Unless you are an expert, the only
  1490. test of random numbers you should attempt is to determine whether or not a
  1491. particular generator is EXACTLY the same as a standard generator.   And if
  1492. it is a linear congruential generator and is not the standard one, and was
  1493. developed before the standard came out (as is the case for the toolbox
  1494. generator), chances are very good that the generator is substantially worse
  1495. than the standard.  There are a lot of AWFUL linear congruential
  1496. generators.
  1497.  
  1498. Sorry, I don't have the standard definition in front of me, and I would be
  1499. happy to hear that the toolbox generator IS the standard generator, but I
  1500. believe that it is not.  I don't have time right now to figure out exactly
  1501. which formula that code is calculating.
  1502.  
  1503. The way to test a generator is described in the article.  Basically, you
  1504. start the generator with a particular seed, run it enough times to force it
  1505. over the tricky part of the calculation, and verify that it gives the
  1506. correct result.
  1507.  
  1508. The quality of the seed has nothing to do with the quality of the
  1509. generator.  A good generator gives usable numbers regardless of the seed.
  1510.  
  1511. One serious problem with many of these linear congruential generators is
  1512. that the low order bits of the result are not very random: if you want a
  1513. good random number between 1 and 10, you better use
  1514.    (10 * (((long)Random()) + 32767)) / 65535 + 1,
  1515. rather than ((unsigned) Random()) % 10 + 1.
  1516.  
  1517.  
  1518. I have an implementation of a period 2^521 generator with a 521 bit
  1519. internal state that was described in Computing Surveys in around 1979, if
  1520. anyone is interested.  It was tested by making sure that it gives the same
  1521. numbers as the published results.  I don't know what its recent reputation
  1522. is.
  1523. --
  1524. Edward J. Huff   huff@mcclb0.med.nyu.edu   (212)998-8465
  1525. Keck Laboratory for Biomolecular Imaging
  1526. NYU Chemistry Deptartment, 31 Washington Place, New York NY 10003
  1527.  
  1528. 
  1529. 
  1530. Path: ucivax!gateway
  1531. From: igorl@uiuc.edu (Igor Livshits)
  1532. Subject: Underinflated balloons
  1533. Message-ID: <9210151706.AA27578@pluto.ncsa.uiuc.edu>
  1534. Newsgroups: fa.think-c
  1535. Lines: 22
  1536. Date: 15 Oct 92 17:06:27 GMT
  1537.  
  1538. Hello,
  1539.  
  1540. I am having a bizarre problem with Balloon Help:
  1541.  
  1542. I am using the
  1543.  
  1544. err = HMShowBalloon( helpData, tip, altRect, tipProc, theProc, variant, method);
  1545.  
  1546. call to show my balloons.  All the variables are correct and contain
  1547. appropriate information to the best of my knowledge.  I initialize the
  1548. helpData structure from either an 'hrct' or an 'hdlg.'  Everything works
  1549. dandy with either of the string resources or a TEXT resource.  The problem
  1550. occurs when my TEXT resource has 320 or more characters:  HMShowBalloon
  1551. returns -50 (parameter error).
  1552.  
  1553. If my TEXT is 319 bytes it works, if it is 320 it breaks.  Is there a
  1554. built-in limit that I am not aware of?
  1555.  
  1556. I would appreciate any help and clues.
  1557.  
  1558. Many thanks, igor
  1559.  
  1560. 
  1561. 
  1562. Path: ucivax!gateway
  1563. From: jim_moy@HPGRMAC.GR.HP.COM (Jim Moy)
  1564. Subject: Re: Underinflated balloons
  1565. Message-ID: <9210151922.AA28705@pluto.ncsa.uiuc.edu>
  1566. Newsgroups: fa.think-c
  1567. Lines: 39
  1568. Date: 15 Oct 92 19:24:16 GMT
  1569.  
  1570.  
  1571.  Reply to:RE>Underinflated balloons
  1572. > The problem
  1573. > occurs when my TEXT resource has 320 or more characters:  HMShowBalloon
  1574. > returns -50 (parameter error).
  1575. >
  1576.  
  1577. The following is an excerpt from a message I got from Ray Chiang at
  1578. Mac Developer Technical Support.  I ran into the same problem and
  1579. asked them about it, and this is their response:
  1580.  
  1581. Jim Moy
  1582. jbm@gr.hp.com
  1583.  
  1584. -----------------------------------------------------------------------
  1585.  
  1586. Yes, there are a couple of work arounds that could help but not completely
  1587. resolve the problem.  It sounds like you are using 'TEXT' resources for your
  1588. help messages.  'TEXT' resources are limited to about 239 characters by the
  1589. Help Mgr.  (It basically works out to be close to the 17000 pixel limit.)  If
  1590. it's acceptable to not have styled text, you can use 'STR#' resources instead.
  1591. The limit here is 255 characters.  Not a vast improvement but one that could be
  1592. enough.  If it's not acceptable and you have to have styled text, you can use a
  1593.  picture of the text you want to display as a 'PICT' resource.  In many cases,
  1594. using 'PICT' resources will allow for longer text but again it is not a
  1595. complete solution.  Using 'PICT' resources is also more difficult to update,
  1596. localize, and maintain.  You can use an application like MacDraw to create
  1597. PICTs of the text you want to display.
  1598.  
  1599. The Help dudes are aware of this limitation and I'm sure its on their plate of
  1600. things to enhance but for now see if either of the above suggestions will
  1601. suffice.  In case you haven't looked already, there's a number of Help Mgr
  1602. related Q&A in the developer CD.  Also, the Help chapter in IM volume 6
  1603. recommends that help messages be relatively short AND concise.  You may want to
  1604. relay this recommendation to your learning products group.  Good luck in your
  1605. continued developement and if you have additional questions, please don't
  1606. hesitate and send us another EMail.  Ray.
  1607.  
  1608.  
  1609. 
  1610. 
  1611. Path: ucivax!gateway
  1612. From: abboud@cedrus.cedrus.com ("Hisham A. Abboud")
  1613. Subject: Anyone used CodeBase?
  1614. Message-ID: <9210152209.AA22200@cedrus.com>
  1615. Newsgroups: fa.think-c
  1616. Lines: 17
  1617. Date: 15 Oct 92 22:50:16 GMT
  1618.  
  1619.  
  1620. I finally located a company that has a dBase compatible C library
  1621. for the Mac.  They call it a portability kit, comes with source code
  1622. that the sales rep says one can recompile on any machine.
  1623.  
  1624. The scary part is that the sales rep said they didn't have any
  1625. Macs in-house!  He tried to reassure me by saying other clients
  1626. have recompiled it successfully on the Mac.
  1627.  
  1628. Would any of these "other" clients be reading this message?  :-)
  1629. I was wondering if it works as advertised, and if it can read
  1630. dBase files created on the PC.  Thanks,
  1631.  
  1632.                                         Hisham.
  1633.  
  1634.  
  1635. Hisham A. Abboud, Cedrus Corp.  [Internet: abboud@cedrus.com]
  1636. 
  1637. 
  1638. Path: ucivax!gateway
  1639. From: jmunkki@vipunen.hut.fi (Juri Munkki)
  1640. Subject: FixDiv is missing?
  1641. Message-ID: <199210171849.AA169303@vipunen.hut.fi>
  1642. Newsgroups: fa.think-c
  1643. Lines: 23
  1644. Date: 17 Oct 92 23:06:45 GMT
  1645.  
  1646.  
  1647. Why is FixDiv missing from the ToolUtils.h file in Think C 5.03?
  1648.  
  1649. I added it there and it works fine. Here's what I had to add:
  1650.  
  1651. pascal Fixed FixDiv(Fixed a,Fixed b)
  1652.     = 0xA84D;
  1653.  
  1654. Anyway, I did this while writing a 4x4 fixed point matrix math
  1655. package. I wrote the package so that it has pure assembly language
  1656. routines for the 68000 and 68020 and C versions with toolbox calls
  1657. to make things easier to read. The idea is to use this package for
  1658. 3D animation. If there is enough interest, I could make the routines
  1659. available once I have all the other necessary components done.
  1660.  
  1661. If anyone has a really fast and good fixed point divide for the 68000,
  1662. I would really like to see it. My current solution is probably a bit
  1663. clumsy, since it has a loop in it. The 68020 was trivial, since I could
  1664. use the divs.l <ea>,Dp:Dq instruction to do the work.
  1665.  
  1666.  
  1667.     Juri Munkki
  1668.     jmunkki@hut.fi
  1669. 
  1670. 
  1671. Path: ucivax!gateway
  1672. From: larry%celia.uucp@usc.edu (Larry Weinberg)
  1673. Subject: Re:  FixDiv is missing?
  1674. Message-ID: <9210180727.AA15407@usc.edu>
  1675. Newsgroups: fa.think-c
  1676. Lines: 10
  1677. Date: 18 Oct 92 07:28:04 GMT
  1678.  
  1679. I'd definitely be interested in these routines if your making them
  1680. available.  I have a 3D program that I'm trying to publish.
  1681. It's pretty fast as it is,  but I'd be curious to see if your
  1682. routines would be significantly faster.
  1683.  
  1684. Larry
  1685. Larry Weinberg                 Rhythm & Hues, Inc.
  1686. INTERNET: celia!larry@usc.edu              celia!larry@tis.llnl.gov
  1687. UUCP:     ...{ames,hplabs}!lll-tis!celia!larry
  1688. We can't all, and some of us don't.  That's all there is to it.  -- Eeyore
  1689. 
  1690. 
  1691. Path: ucivax!gateway
  1692. From: phils@chaos.cs.brandeis.edu (Phil Shapiro)
  1693. Subject: FixDiv is missing?
  1694. Message-ID: <9210181905.AA18925@chaos.cs.brandeis.edu>
  1695. In-Reply-To: Juri Munkki's message of 17 Oct 92 23:06:45 GMT <199210171849.AA169303@vipunen.hut.fi>
  1696. Newsgroups: fa.think-c
  1697. Lines: 14
  1698. Date: 18 Oct 92 19:06:02 GMT
  1699.  
  1700. >>>>> On 17 Oct 92 23:06:45 GMT, Juri Munkki <jmunkki@vipunen.hut.fi> said:
  1701.  
  1702.  > Why is FixDiv missing from the ToolUtils.h file in Think C 5.03?
  1703.  
  1704. In my copy of THINK C 5.0, it's in the FixMath.h header file. The
  1705. organization of the header files is the same as in MPW C 3.2; in
  1706. earlier versions of THINK C, the fixed-point routines were in
  1707. ToolboxUtil.h (I think).
  1708.  
  1709.     -phil
  1710. ----
  1711.    Phil Shapiro                                   Software Engineer
  1712.    Language Products Group                     Symantec Corporation
  1713.            Internet: phils@cs.brandeis.edu
  1714. 
  1715. 
  1716. Path: ucivax!gateway
  1717. From: k044477@hobbes.kzoo.edu ("Jamie R. McCarthy")
  1718. Subject: If you sent me mail...
  1719. Message-ID: <9210191304.AA13763@hobbes.kzoo.edu>
  1720. X-Mailer: ELM [version 2.3 PL11]
  1721. Newsgroups: fa.think-c
  1722. Lines: 9
  1723. Date: 19 Oct 92 13:02:37 GMT
  1724.  
  1725. I apologize for having to do this.  If you haven't sent me mail in the
  1726. last few days, please ignore this message.
  1727.  
  1728. Regretfully, my college computer has once again deleted my in-box
  1729. because it exceeded a certain size.  If you've sent me mail since about
  1730. Sunday night, please contact me.  Don't resend large (100K) letters, it
  1731. will just delete it again.  Thank you.
  1732. --
  1733.  Jamie McCarthy      Internet: k044477@kzoo.edu      AppleLink: j.mccarthy
  1734. 
  1735. 
  1736. Path: ucivax!gateway
  1737. From: djk@world.std.com (Dan J Keldsen)
  1738. Subject: subscribe djk@world.std.com
  1739. Message-ID: <CMM.0.90.2.719519722.djk@world.std.com>
  1740. Newsgroups: fa.think-c
  1741. Lines: 9
  1742. Date: 19 Oct 92 18:35:35 GMT
  1743.  
  1744. subscribe djk@world.std.com
  1745. --
  1746. I Have a feeling I need to be posting this to a different address, but I
  1747. don't know of any way to get that address. Here's hoping a million
  1748. people don't get this...
  1749.  
  1750. --
  1751. Dan Keldsen
  1752. BERKLEE College o Music - Boston, MA
  1753. 
  1754. 
  1755. Path: ucivax!gateway
  1756. From: C2MXBAR@fre.towson.edu (Aaron Barnett)
  1757. Subject: prolog
  1758. Message-ID: <01GQ54MK9G9U8WWDIP@TOE.TOWSON.EDU>
  1759. Content-transfer-encoding: 7BIT
  1760. MIME-version: 1.0
  1761. Newsgroups: fa.think-c
  1762. X-VMS-To: TOE::IN%"think-c@ics.uci.edu"
  1763. Lines: 5
  1764. Date: 19 Oct 92 22:13:07 GMT
  1765. X-Envelope-to: think-c@ics.uci.edu
  1766.  
  1767. well this is kind of thinkc related...
  1768. does anyone know where i can find a prolog compiler thingy?
  1769. i looked through archie, but couldn't find one for mac.
  1770.  
  1771. thanks
  1772. 
  1773. 
  1774. Path: ucivax!gateway
  1775. From: de19@umail.umd.edu (Dana S Emery)
  1776. Subject: Re: FixDiv is missing?
  1777. Message-ID: <Mailstrom.1.03b2.61112.-3114.de19@umail.umd.edu>
  1778. In-Reply-To: Your message <9210181905.AA18925@chaos.cs.brandeis.edu> of 18
  1779.  Oct 92 19:06:02 GMT
  1780. Content-Type: TEXT/plain; charset=US-ASCII
  1781. Newsgroups: fa.think-c
  1782. Lines: 16
  1783. Date: 20 Oct 92 03:01:21 GMT
  1784.  
  1785. >>>>> On 17 Oct 92 23:06:45 GMT, Juri Munkki <jmunkki@vipunen.hut.fi> said:
  1786.  
  1787. > > Why is FixDiv missing from the ToolUtils.h file in Think C 5.03?
  1788. >In my copy of THINK C 5.0, it's in the FixMath.h header file.
  1789.  
  1790. Phil,
  1791.  
  1792. If the multiple file find dialog werent such a pain to use, this user would
  1793. prably have been able to discover that for himself.  The Think Pascal equivalent
  1794. shows a much more reasonable way, too bad symantecs C and Pascal people dont
  1795. seem to talk to each other enough to have allowed the best features of each
  1796. influence the other.
  1797.  
  1798. --
  1799. dana s emery <de19@umail.umd.edu>
  1800.  
  1801. 
  1802. 
  1803. Path: ucivax!gateway
  1804. From: vthrc@mailbox.uq.oz.au (Danny Thomas)
  1805. Subject: Re: prolog
  1806. Message-ID: <9210200051.aa17333@q2.ics.uci.edu>
  1807. Newsgroups: fa.think-c
  1808. Lines: 32
  1809. Date: 20 Oct 92 07:51:51 GMT
  1810.  
  1811. Aaron Barnett <C2MXBAR@fre.towson.edu> writes
  1812. >well this is kind of thinkc related...
  1813. >does anyone know where i can find a prolog compiler thingy?
  1814. >i looked through archie, but couldn't find one for mac.
  1815. the only prologs listed in the latest "Catalog of compilers, interpreters
  1816. and other language tools" posted to comp.lang.misc, comp.archives, etc are
  1817.    sbcs.sunysb.edu /pub/sbprolog
  1818.    swi.psy.uva.nl [192.42.96.1] ?directory?
  1819. there were several others listed, but they were all built on top of Scheme
  1820. or other Lisp. Neither of those two has a mac port listed nor is a compiler
  1821. mentioned, but the second has numerous ports to UN*X systems as well as to
  1822. MSDOS "(status unknown)". It is also said to be "actively developed" as
  1823. well as being a "very nice Ed. style prolog, best free one I've seen" so it
  1824. would be the one I'd look at first.
  1825.     No FTP site is given for the list I'm quoting from and which only
  1826. includes packages for which source code is available and is intended to
  1827. serve developers rather than researchers, ie he is much more interested in
  1828. production quality systems though I'd doubt items are excluded on this
  1829. basis. Unfortunately the author of that list, David Sharnoff
  1830. "muir@tfs.com", has chosen to enforce the Free Software Foundation's boycot
  1831. of Apple, so no products are listed which exist only on the mac.. He says
  1832. to contact Zbigniew Fiedorowicz fiedorow@function.mps.ohio-state.edu for
  1833. his list.
  1834.  
  1835. cheers,
  1836. X500: @c=AU [I'm about to update VTHRC entries, soon...]
  1837.        @o=University of Queensland
  1838.         @ou=Physiology and Pharmacology Department
  1839.          @ou=Vision Touch and Hearing
  1840.           @cn=Danny Thomas
  1841.            @rfc822Mailbox=vthrc@cc.uq.oz.au
  1842.  
  1843. 
  1844. 
  1845. Path: ucivax!gateway
  1846. From: ephraim@think.com (Ephraim Vishniac)
  1847. Subject: Re: prolog
  1848. Message-ID: <9210201324.AA14217@charon.think.com>
  1849. In-Reply-To: Your message of "19 Oct 92 22:13:07 GMT."
  1850.              <01GQ54MK9G9U8WWDIP@TOE.TOWSON.EDU>
  1851. Newsgroups: fa.think-c
  1852. Lines: 67
  1853. Date: 20 Oct 92 13:24:23 GMT
  1854.  
  1855.  
  1856.    Date:  19 Oct 92 22:13:07 GMT
  1857.    From:  Aaron Barnett <C2MXBAR@fre.towson.edu>
  1858.  
  1859.    well this is kind of thinkc related...
  1860.    does anyone know where i can find a prolog compiler thingy?
  1861.    i looked through archie, but couldn't find one for mac.
  1862.  
  1863. Check the FAQ for comp.lang.prolog, also seen in news.answers.
  1864.  
  1865. Here's an excerpt:
  1866.  
  1867. Subject: comp.lang.prolog Frequently Asked Questions
  1868. Date: Wed, 26 Aug 1992 22:24:41 GMT
  1869.  
  1870. 2. Where can I get a public-domain, free Prolog for (the IBM PC,
  1871.    the Mac, Unix)?
  1872.  
  1873.      The following are anonymous-FTP sites for free Prologs
  1874. which are either in the public domain or are "copy-lefted"
  1875. (permitted to be copied with some restrictions on commercial use).
  1876.  
  1877.      (Please note that for extensive development work, users
  1878. will probably want a robust interpreter or compiler with good
  1879. debugging facilities and a standard syntax, among other things.
  1880. While public-domain systems are a valuable service to the
  1881. community, they do not necessarily have all these things, and
  1882. users should weigh carefully what they want to do against the
  1883. capabilities and costs of the available systems.)
  1884.  
  1885. For the IBM PC:
  1886. - BinProlog 1.39, anonymous FTP from clement.info.umoncton.ca
  1887.   (139.103.16.2), directory BinProlog.  Compiler for IBM PC 386.
  1888.   E-mail: tarau@info.umoncton.ca (Paul Tarau).
  1889. - Anonymous FTP from aisun1.ai.uga.edu, directory ai.prolog;
  1890.   download "Contents" first.  Two systems.
  1891.   E-mail: mcovingt@uga.cc.uga.edu (Michael Covington).
  1892. - SWI Prolog, anonymous FTP from swi.psy.uva.nl, file
  1893.   "pub/pl-1.6.1.tar.Z"; or from ftp.th-darmstadt.de
  1894.   (130.83.22.253), directory pub/programming/languages/prolog.
  1895.   Portable, copy-lefted.
  1896.  
  1897. For the Apple Macintosh:
  1898. - Anonymous FTP from aisun1.ai.uga.edu, directory ai.prolog;
  1899.   download "Contents" first.
  1900.   E-mail: mcovingt@uga.cc.uga.edu (Michael Covington).
  1901. - Open Prolog, anonymous FTP from grattan.cs.tcd.ie (or
  1902.   134.226.32.15), directory languages/open-prolog.  In
  1903.   binhex/stuffit form.
  1904.   E-mail: brady@cs.tcd.ie (Michael Brady).
  1905.  
  1906. For Unix systems:
  1907. - BinProlog 1.39, anonymous FTP from clement.info.umoncton.ca
  1908.   (139.103.16.2), directory BinProlog.  Compiler for SPARC and Sun/3.
  1909.   E-mail: tarau@info.umoncton.ca (Paul Tarau).
  1910. - SWI Prolog, anonymous FTP from swi.psy.uva.nl, file
  1911.   "pub/pl-1.6.1.tar.Z"; or from ftp.th-darmstadt.de
  1912.   (130.83.22.253), directory pub/programming/languages/prolog.
  1913.   Portable, copy-lefted.
  1914. - SB-Prolog, anonymous FTP from cs.arizona.edu, directory
  1915.   "sbprolog/v3".  Version 3.  Copy-lefted.
  1916. - Modular SB-Prolog (= SB-Prolog version 3.1 plus modules),
  1917.   anonymous FTP from ftp.dcs.ed.ac.uk (129.215.160.5), file
  1918.   pub/dts/mod-prolog.tar.Z .  Interpreter for SPARC.
  1919.   E-mail: mprolog@dcs.ed.ac.uk (Brian Paxton).
  1920.  
  1921.  
  1922. 
  1923. 
  1924. Path: ucivax!gateway
  1925. From: TPZ4@vm.cnuce.cnr.it (Rodolfo Cardarelli)
  1926. Subject: Is Unix a bad subject...?
  1927. Message-ID: <9210210341.aa18587@q2.ics.uci.edu>
  1928. Newsgroups: fa.think-c
  1929. Lines: 7
  1930. Date: 21 Oct 92 10:41:25 GMT
  1931.  
  1932. I'm a Mac user who's also a unix user. Maybe this is not the right place to
  1933. ask, but, just in case, do you know where I could find on Internet unix stuff
  1934. for HP-Apollo 7xx machines?
  1935. Thank you in advance for any help
  1936.  
  1937. Rodolfo Cardarelli
  1938. TPZ4@ICNUCEVM.CNUCE.CNR.IT
  1939. 
  1940. 
  1941. Path: ucivax!gateway
  1942. From: thoma@spud.kludge.com (Chris Thoma)
  1943. Subject: Stuffit/Zip/CompactPro source
  1944. Message-ID: <kkaZsB1w165w@spud.kludge.com>
  1945. Newsgroups: fa.think-c
  1946. Organization: T.T.L.F., Inc. San Francisco, CA
  1947. Lines: 10
  1948. Date: 21 Oct 92 12:16:37 GMT
  1949.  
  1950. I need sounce to be able to view the contents of a
  1951. Stuffit/Zip/CompactPro/LHZ archive (.sit/.cpt/.zip/.lhz). Does anyone out
  1952. there have any sourced so I can work with the above listed archive
  1953. formats. I want to be able to view the contents of the
  1954. compressed/stuffed/zipped/ect archive. I currently cant find any source.
  1955. I also would like some source for working with Packit (.pit) files. All
  1956. of the above archive formats are availble on the mac. If you have any
  1957. helpful source please mail it to me. Please I need help!
  1958.  
  1959. THANKS ALL!
  1960. 
  1961. 
  1962. Path: ucivax!gateway
  1963. From: dnebing@andy.bgsu.edu
  1964. Subject: Re: Stuffit/Zip/CompactPro source
  1965. Message-ID: <9210211621.AA23426@andy.bgsu.edu>
  1966. Newsgroups: fa.think-c
  1967. Lines: 38
  1968. Date: 21 Oct 92 16:22:05 GMT
  1969.  
  1970. >I need sounce to be able to view the contents of a
  1971. >Stuffit/Zip/CompactPro/LHZ archive (.sit/.cpt/.zip/.lhz). Does anyone out
  1972. >there have any sourced so I can work with the above listed archive
  1973. >formats. I want to be able to view the contents of the
  1974. >compressed/stuffed/zipped/ect archive. I currently cant find any source.
  1975. >I also would like some source for working with Packit (.pit) files. All
  1976. >of the above archive formats are availble on the mac. If you have any
  1977. >helpful source please mail it to me. Please I need help!
  1978. >
  1979.         There was a package distributed on the net called unpack.  It was
  1980. able
  1981. to unpack all of these types of files so it would be easier to download
  1982. (the
  1983. mainframes would normally be faster at unpacking the archives than a mac).
  1984.  
  1985.         I have not checked archie, but if you look and can not find the
  1986. unpack
  1987. source, I can send you a copy if you wish.
  1988.  
  1989. p.s.  The only problem with the source is that it was created to work on a
  1990. mainframe with unlimited memory.  Some method of dealing with the
  1991. limitations
  1992. of mac memory would have to be incorporated for this program to work on a
  1993. mac.
  1994. /*
  1995.             Procedure:         Signature
  1996.             Purpose:           To print the signature file for David Nebinger
  1997. */
  1998.  
  1999. void Signature(void){
  2000.             printf("%s\n%s                %s\n%s\n%s\n",
  2001.                        "Dave Nebinger",
  2002.                        "dnebing@andy.bgsu.edu",
  2003.                        "dnebing@opie.bgsu.edu",
  2004.                        "Just because something is said to lighten a subject,",
  2005.                        "doesn't mean the subject is taken lightly.");
  2006. }
  2007.  
  2008. 
  2009. 
  2010. Path: ucivax!gateway
  2011. From: jgarner@seattleu.edu (Jeff Garner)
  2012. Subject: GIF program or source
  2013. Message-ID: <Pine.2.2.9210211415.A15633@sumax.seattleu.edu>
  2014. In-Reply-To: <kkaZsB1w165w@spud.kludge.com>
  2015. Newsgroups: fa.think-c
  2016. Lines: 17
  2017. Date: 21 Oct 92 22:16:11 GMT
  2018.  
  2019.  
  2020. I need either of the following:
  2021.  
  2022. 1) A GIF viewer that performs quick animations of at least a handful of
  2023. color frames, which chooses those graphic files from a list of filenames
  2024. stored in a text file (or if you support AppleEvents, that'd work too.)
  2025.  
  2026. 2) If the above viewer doesn't exist, I would have to write one myself,
  2027. so I'd be looking for a GIF viewer source code.
  2028.  
  2029. This is for a weather satellite reciever project for Seattle University,
  2030. so it's NOT for commercial use... just internal to Seattle U.
  2031.  
  2032. Thanks,
  2033.  
  2034. Jeff Garner
  2035. jgarner@seattleu.edu
  2036. 
  2037. 
  2038. Path: ucivax!gateway
  2039. From: rc05@gte.com (Ramesh Chandak)
  2040. Subject: Any public domain source code available for implementing lasso
  2041. Message-ID: <9210220455.AA17755@bunny.gte.com>
  2042. Newsgroups: fa.think-c
  2043. Lines: 12
  2044. Date: 22 Oct 92 04:56:07 GMT
  2045.  
  2046. Hi there,
  2047.  
  2048. I'm trying to implement cut and copy of PICT resources.  I'd like to be
  2049. able to cut part of PICTURE 1 and paste it on a at a different location
  2050. on the screen, may be on PICTURE 2 ( PICTURE 2 is at a different location
  2051. than PICTURE 1 ).
  2052.  
  2053. Is there any public domain source code available in C that I might be
  2054. able to use ?  Any references / pointers / suggestions on how I can do
  2055. this will be much appreciated.  Thanx much in advance.
  2056.  
  2057. - Ramesh M. Chandak
  2058. 
  2059. 
  2060. Path: ucivax!gateway
  2061. From: munroe@northstar.dmc.com (Dick Munroe)
  2062. Subject: Re: Stuffit/Zip/CompactPro source
  2063. Message-ID: <0105003C.qv5c3e@northstar.dmc.com>
  2064. Newsgroups: fa.think-c
  2065. Organization: Doyle Munroe Consultants, Inc.
  2066. Lines: 30
  2067. Date: 22 Oct 92 12:15:22 GMT
  2068.  
  2069.  
  2070. In article <kkaZsB1w165w@spud.kludge.com>, Chris Thoma <thoma@spud.kludge.com> writes:
  2071. >
  2072. > I need sounce to be able to view the contents of a
  2073. > Stuffit/Zip/CompactPro/LHZ archive (.sit/.cpt/.zip/.lhz). Does anyone out
  2074. > there have any sourced so I can work with the above listed archive
  2075. > formats. I want to be able to view the contents of the
  2076. > compressed/stuffed/zipped/ect archive. I currently cant find any source.
  2077. > I also would like some source for working with Packit (.pit) files. All
  2078. > of the above archive formats are availble on the mac. If you have any
  2079. > helpful source please mail it to me. Please I need help!
  2080. > THANKS ALL!
  2081. >
  2082.  
  2083. If my memory serves, sources for a U*x based critter that dealt with
  2084. most of the requested formats was posted to comp.sources.misc in the
  2085. last 12 months or so.  I'm away from my office right now, so I don't
  2086. have access to my archives.  I'll check more in detail when I get
  2087. back (26-Oct).  If you haven't seen a post in a week, send me a reminder,
  2088. I can have a mind like a sieve.
  2089.  
  2090. Dick MUnroe
  2091.  
  2092. --
  2093. Dick Munroe                         Internet: munroe@dmc.com
  2094. Doyle Munroe Consultants, Inc.      UUCP: ...uunet!thehulk!munroe
  2095. 267 Cox St.                         Office: (508) 568-1618
  2096. Hudson, Ma. 01749                   FAX: (508) 562-1133
  2097.  
  2098. GET CONNECTED!!! Send mail to info@dmc.com for details.
  2099. 
  2100. 
  2101. Path: ucivax!gateway
  2102. From: Per.Mildner@csd.uu.se (Per Mildner)
  2103. Subject: Re: GIF program or source
  2104. X-Sender: perm@meryl.csd.uu.se
  2105. Message-ID: <199210221332.AA04805@meryl.csd.uu.se>
  2106. Newsgroups: fa.think-c
  2107. X-Charset: ASCII
  2108. Lines: 13
  2109. Date: 22 Oct 92 13:32:13 GMT
  2110. X-Char-Esc: 29
  2111.  
  2112. At 22.16 92-10-21 +0000, Jeff Garner wrote:
  2113. >I need either of the following:
  2114. >
  2115. >1) A GIF viewer that performs quick animations of at least a handful of
  2116. >color frames, which chooses those graphic files from a list of filenames
  2117. >stored in a text file (or if you support AppleEvents, that'd work too.)
  2118. >
  2119. I'm pretty sure that (at least the commercial version of) QuickGIF can do this.
  2120.  
  2121. Per Mildner                      perm@CSD.UU.SE
  2122. Computing Science Dept.          tel: +46 18 181049
  2123. Uppsala University, Sweden       fax: +46 18 521270
  2124.  
  2125. 
  2126. 
  2127. Path: ucivax!gateway
  2128. From: JONZY@cc.utah.edu (Jonzy)
  2129. Subject: To C or not to see
  2130. Message-ID: <8069825F44016E47@CC.UTAH.EDU>
  2131. Newsgroups: fa.think-c
  2132. X-VMS-To: IN%"think-c@ics.uci.edu"
  2133. Lines: 93
  2134. Date: 22 Oct 92 20:05:32 GMT
  2135. X-Envelope-to: think-c@ics.uci.edu
  2136.  
  2137. Is anybody aware of a problem with MaxAppleZone() when called from
  2138. a machine that does not have this routine in ROM?  I have had one
  2139. heck of a time attempting to correct a problem that is only seen
  2140. when the program runs on a machine where this routine is not in
  2141. ROM, such as an SE.  The program works just fine on a CX, LC, and
  2142. SI, the only ones I have tried it on.  Anyway if I comment out
  2143. the call to MaxApplZone() the program works just fine on the SE.
  2144.  
  2145. When debugging on an SE with the call to MaxApplZone() commented
  2146. out things work fine.  If the call to MaxApplZone() is enabled,
  2147. and a stop is placed at the call to GetDefaults(), which is a routine
  2148. I defined, things are still ok.  However, a Trace into GetDefaults()
  2149. freezes the cursor, and sometimes the Bomb message will appear in
  2150. the debugging window.  Other times no message is displayed; regardless
  2151. the only way out is to reboot.
  2152.  
  2153. To summarize: main() calls InitMac() to call MaxApplZone(), get some
  2154. master pointer blocks, and initialize the toolboxes.  Then main()
  2155. calls a function Initialized() which calls GetDefaults().  If I
  2156. comment out the call to MaxApplZone() things work just fine on an
  2157. SE, otherwise the program crashes in the debugger.
  2158.  
  2159. Any help would be greatly appreciated.
  2160.  
  2161. Following my signature is some sample code along with information
  2162. about the project.
  2163. -------------------------------------------------------------------------
  2164. Jonzy                  | jonzy@cc.utah.edu      | jonzy@utahcca.bitnet
  2165. Postmaster (UUCC)      | postmaster@cc.utah.edu | postmast@utahcca.bitnet
  2166. University of Utah Computer Center              | (801) 581-8810
  2167. -------------------------------------------------------------------------
  2168. President UHGA (Utah Hang Gliding Association)
  2169. -------------------------------------------------------------------------
  2170.  
  2171. -------------------------------------------------
  2172. From a file in segment 1:
  2173.  
  2174. static void InitMac(numMasters)
  2175.     short    numMasters;
  2176. {
  2177. /* USE_SET_APPLLIMIT is undefined at this point. */
  2178. #ifdef USE_SET_APPLLIMIT
  2179.     SetApplLimit((Ptr)(GetApplLimit() + 2048));
  2180. #endif USE_SET_APPLLIMIT
  2181.  
  2182.     MaxApplZone();        /* <-- Say what? */
  2183.  
  2184.     while (numMasters--)
  2185.         MoreMasters();
  2186.     InitGraf(&thePort);
  2187.     InitFonts();
  2188.     FlushEvents(everyEvent,0);
  2189.     InitWindows();
  2190.     InitMenus();
  2191.     TEInit();
  2192.     InitDialogs(NIL);
  2193.     InitCursor();
  2194.  
  2195. }
  2196.  
  2197. main()
  2198. {
  2199.     InitMac(16);
  2200.     if (Initialized())
  2201.         {
  2202.         ...
  2203.         }
  2204. ...
  2205. }
  2206. -------------------------------------------------
  2207. From a file in segment 6:
  2208.  
  2209. static void GetDefaults()
  2210. {
  2211. ...
  2212. }
  2213.  
  2214. short Initialized()
  2215. {
  2216.     GetDefaults();
  2217. ...
  2218.     return(true);
  2219. }
  2220.  
  2221. -------------------------------------------------
  2222. The following is information about the Project:
  2223.             Code      Data    Str     Jump
  2224. Segment 2   23156     4864     0       584
  2225. Segment 3   13102     1402     0      1200
  2226. Segment 4   30740    10908     0       616
  2227. Segment 5   16712      346     0      4008
  2228. Segment 6    3322     8484     0        56
  2229. Project     87590    26004     0      6576
  2230. 
  2231. 
  2232. Path: ucivax!gateway
  2233. From: ephraim@think.com (Ephraim Vishniac)
  2234. Subject: Re: To C or not to see
  2235. Message-ID: <9210231324.AA27590@charon.think.com>
  2236. In-Reply-To: Your message of "22 Oct 92 20:05:32 GMT."
  2237.              <8069825F44016E47@CC.UTAH.EDU>
  2238. Newsgroups: fa.think-c
  2239. Lines: 33
  2240. Date: 23 Oct 92 13:25:10 GMT
  2241.  
  2242.  
  2243.    Date:  22 Oct 92 20:05:32 GMT
  2244.    From:  Jonzy <JONZY@cc.utah.edu>
  2245.  
  2246.    Is anybody aware of a problem with MaxAppleZone() when called from
  2247.    a machine that does not have this routine in ROM?  I have had one
  2248.    heck of a time attempting to correct a problem that is only seen
  2249.    when the program runs on a machine where this routine is not in
  2250.    ROM, such as an SE.  The program works just fine on a CX, LC, and
  2251.    SI, the only ones I have tried it on.  Anyway if I comment out
  2252.    the call to MaxApplZone() the program works just fine on the SE.
  2253.  
  2254. The other thing that's different about an SE is that the default stack
  2255. is very small. Ditto on a Plus.
  2256.  
  2257. How much stack space does GetDefaults use? Could you be colliding with
  2258. the heap?
  2259.  
  2260.    -------------------------------------------------
  2261.    >From a file in segment 1:
  2262.  
  2263.    static void InitMac(numMasters)
  2264.        short    numMasters;
  2265.    {
  2266.    /* USE_SET_APPLLIMIT is undefined at this point. */
  2267.    #ifdef USE_SET_APPLLIMIT
  2268.        SetApplLimit((Ptr)(GetApplLimit() + 2048));
  2269.    #endif USE_SET_APPLLIMIT
  2270.  
  2271. If I understand this right, you're *reducing* your stack space by 2K
  2272. when this is included.  Why? On an SE or Plus, this would leave you
  2273. with only about 2K of stack.
  2274.  
  2275. 
  2276. 
  2277. Path: ucivax!gateway
  2278. From: stephenm@syacus.acus.oz.au
  2279. Subject: SoundMgr Async Completion Routine (Help Pls)
  2280. Message-ID: <9210241801.647@munnari.oz.au>
  2281. Newsgroups: fa.think-c
  2282. Lines: 113
  2283. Date: 24 Oct 92 18:01:38 GMT
  2284.  
  2285. Hope the following code fragment can put more light on my problem.
  2286.  
  2287. I'm on a SE/30 with Sys7, with Tuneup 1.1.1 and MacRecorder 1.0.2 and
  2288. Think C 5.0.
  2289.  
  2290. I get a error (unimplemented trap) when it gets to MyCompletion callback.
  2291.  
  2292. Hope someone can help me with this.
  2293.  
  2294. --------cut here------------
  2295. #define        NIL                0L
  2296. #define        WNE_TRAP_NUM            0x60
  2297. #define        UNIMPL_TRAP_NUM            0x9F
  2298. #define        SLEEP                0L
  2299. #define        REMOVE_ALL_EVENTS        0
  2300. #define        NIL_MOUSE_REGION        0L
  2301.  
  2302. #include    <SoundInput.h>
  2303.  
  2304. void        DoMyMouseDown(EventRecord *);
  2305. pascal void    MyCompletionRoutine(SPB *);
  2306. void        main(void);
  2307.  
  2308. pascal void    MyCompletionRoutine(SPB    *mySPBPtr) {
  2309.     OSErr        osErr;
  2310.  
  2311. // This routine will be called when either a timeout occurs during
  2312. // recording or the SPBStopRecording is called.
  2313.  
  2314. // Case where the SPBStopRecording, error is set to abortErr
  2315. if (mySPBPtr->error == noErr) {
  2316.     osErr=SPBRecord(mySPBPtr, TRUE);
  2317. } else
  2318.     osErr=SPBCloseDevice(mySPBPtr->inRefNum);
  2319. }
  2320.  
  2321. void DoMyMouseDown(EventRecord *theEvent) {
  2322.     OSErr            osErr;
  2323.     SPB            *mySPBPtr;
  2324.     long int         myInRefNum;
  2325.     pascal void        MyCompletionRoutine();
  2326.  
  2327.  
  2328. mySPBPtr=(SPB *)NewPtr( sizeof(SPB) );
  2329. // After initialisation, open the Sound input device and then monitor the Event loop.
  2330. //    Open the default input device for reading.
  2331. if( (osErr = SPBOpenDevice (NIL, siWritePermission, &myInRefNum)) == noErr) {
  2332.  
  2333.     // Setup the SPB record so that the SM Record will work
  2334.     mySPBPtr->inRefNum=myInRefNum;
  2335.     mySPBPtr->count=1100;            // number of samples recorded
  2336.     mySPBPtr->milliseconds=0;
  2337.     mySPBPtr->bufferLength=(long int)1100;
  2338.     mySPBPtr->bufferPtr=(Ptr)NewPtr(sizeof(char)*1100);
  2339.     mySPBPtr->completionRoutine=(ProcPtr)&MyCompletionRoutine;
  2340.     mySPBPtr->interruptRoutine=nil;
  2341.     mySPBPtr->userLong=(long int)nil;
  2342.     mySPBPtr->error=noErr;
  2343.     mySPBPtr->unused1=0;
  2344.  
  2345.     osErr=SPBRecord(mySPBPtr, TRUE);
  2346. }
  2347. }
  2348.  
  2349. /****************
  2350.   main()
  2351. *****************/
  2352. void main() {
  2353.  
  2354.     char            theChar;
  2355.     Boolean            WNEImplemented;
  2356.     EventRecord        TheEvent;
  2357.  
  2358.     InitGraf(&thePort);
  2359.     InitFonts();
  2360.     FlushEvents(everyEvent, REMOVE_ALL_EVENTS);
  2361.     InitWindows();
  2362.     InitMenus();
  2363.     TEInit();
  2364.     InitDialogs(NIL);
  2365.     InitCursor();
  2366.     MaxApplZone();
  2367.  
  2368. WNEImplemented = (NGetTrapAddress(WNE_TRAP_NUM, ToolTrap) !=
  2369.                  NGetTrapAddress(UNIMPL_TRAP_NUM, ToolTrap));
  2370. while (TRUE) {
  2371.     if(WNEImplemented)
  2372.         WaitNextEvent(everyEvent, &TheEvent, SLEEP, NIL_MOUSE_REGION);
  2373.     else {
  2374.         SystemTask();
  2375.         GetNextEvent(everyEvent, &TheEvent);
  2376.     }
  2377.     switch (TheEvent.what) {
  2378.             case nullEvent:
  2379.                 break;
  2380.             case mouseDown:
  2381.                 DoMyMouseDown(&TheEvent);
  2382.                 break;
  2383.             default:
  2384.                 break;
  2385.     }
  2386. }
  2387.  
  2388. }
  2389. --
  2390. Sincerely
  2391. Stephen McIntosh
  2392. ACUS-The Australian Centre for UNISYS software
  2393. Phone:    +61-2-390-1371    | ACSnet:   stephenm@syacus.OZ
  2394. Fax:    +61-2-390-1391    | Internet: stephenm@syacus.OZ.AU
  2395. 115 Wicks Road        | UUCP:     uunet!munnari!syacus.acus.oz.au!stephenm
  2396. North Ryde   NSW   2113 |
  2397. AUSTRALIA        |
  2398. 
  2399. 
  2400. Path: ucivax!gateway
  2401. From: C2MXBAR@fre.towson.edu (Aaron Barnett)
  2402. Subject: OpenPict
  2403. Message-ID: <01GQDS38D8W29351SK@TOE.TOWSON.EDU>
  2404. Content-transfer-encoding: 7BIT
  2405. MIME-version: 1.0
  2406. Newsgroups: fa.think-c
  2407. X-VMS-To: TOE::IN%"think-c@ics.uci.edu"
  2408. Lines: 21
  2409. Date: 26 Oct 92 04:02:47 GMT
  2410. X-Envelope-to: think-c@ics.uci.edu
  2411.  
  2412. I'm trying to make use of some code in thinkRef to create
  2413. a picture from an area of the screen.  the only problem is
  2414. that it doesn't work.  Macsbug reports a bus error
  2415. @ _SetRectRgn+000C.  When i use thinkCs debbuger the bus
  2416. error happens at OpenPicture and Macsbug reports it @
  2417. _PutPicOP+01D4.  I'm clueless.
  2418.  
  2419. here it is:
  2420.  
  2421. Rect picRect;
  2422. PicHandle thePic;
  2423.  
  2424. ClipRect ( & thePort -> portRect  );
  2425. SetRect ( &picRect, 0,0,100,100 );
  2426. thePic =  OpenPicture ( &picRect );
  2427. CopyBits ( & thePort -> portBits , & thePort -> portBits ,
  2428.  &picRect, &picRect,  srcCopy , 0L );
  2429. ClosePicture ();
  2430.  
  2431. thanks
  2432. aaron
  2433. 
  2434. 
  2435. Path: ucivax!gateway
  2436. From: ag757@yfn.ysu.edu (Ian Clysdale)
  2437. Subject: Subscription
  2438. Message-ID: <199210260420.AA18214@yfn.ysu.edu>
  2439. Newsgroups: fa.think-c
  2440. Reply-To: ag757@yfn.ysu.edu
  2441. Lines: 14
  2442. Date: 26 Oct 92 04:21:12 GMT
  2443.  
  2444.  
  2445.  
  2446.   Hello all.  I know that this is probably poor protocol, but cna
  2447. you please send me the instructions on how to subscribe for this
  2448. list?  I've been trying to work out the listserv code on my own,
  2449. but don't really know what it is.
  2450.  
  2451. Thanks a lot.
  2452.  
  2453. --
  2454.             Ian Clysdale
  2455.          Student and Official Nobody
  2456.             Internet:   ag757@yfn.ysu.edu
  2457.           Fidonet:   Ian Clysdale, 1:163/241
  2458. 
  2459. 
  2460. Path: ucivax!gateway
  2461. From: k059509@hobbes.kzoo.edu ("Jason A. Bobier")
  2462. Subject: problems with think c
  2463. Message-ID: <9210260645.AA07894@hobbes.kzoo.edu>
  2464. X-Mailer: ELM [version 2.3 PL11]
  2465. Newsgroups: fa.think-c
  2466. Lines: 17
  2467. Date: 26 Oct 92 06:43:15 GMT
  2468.  
  2469.  
  2470.  I am having problems with think c, which may be a bug. Often times when I
  2471.  recompile a project, I get a project requires larger memory partition error.
  2472.  This happens on projects that clearly have enough memory allocated to them.
  2473.  When this happens, I have to remove the object code and recompile. It's really
  2474.  a pain as it tends to happen about one in every three times I compile a
  2475.  project.
  2476.  I am using think c 5.03 and CMaster 1.9.
  2477.  I have tried reinstalling both of these, but it didn't seem to help.
  2478.  Does anyone else have this problem, and if so how do I solve it. Help!!!
  2479.  
  2480.  
  2481. Jason Bobier
  2482. k059509@kzoo.edu
  2483.  
  2484. According to the Hitchiker's Guide to the Galaxy, in order to fly one must
  2485. simply throw themselves at the ground and miss.
  2486. 
  2487. 
  2488. Path: ucivax!gateway
  2489. From: ephraim@think.com (Ephraim Vishniac)
  2490. Subject: Re: Subscription
  2491. Message-ID: <9210261410.AA04535@charon.think.com>
  2492. In-Reply-To: Your message of "26 Oct 92 04:21:12 GMT."
  2493.              <199210260420.AA18214@yfn.ysu.edu>
  2494. Newsgroups: fa.think-c
  2495. Lines: 12
  2496. Date: 26 Oct 92 14:10:57 GMT
  2497.  
  2498.  
  2499.    Date:  26 Oct 92 04:21:12 GMT
  2500.    From:  Ian Clysdale <ag757@yfn.ysu.edu>
  2501.  
  2502.      Hello all.  I know that this is probably poor protocol, but cna
  2503.    you please send me the instructions on how to subscribe for this
  2504.    list?  I've been trying to work out the listserv code on my own,
  2505.    but don't really know what it is.
  2506.  
  2507. Send administrative requests to think-c-request@ics.uci.edu. This is a
  2508. general rule which works for 99% of the net mailing lists -- requests
  2509. for list foo@bar go to foo-request@bar.
  2510. 
  2511. 
  2512. Path: ucivax!gateway
  2513. From: JONZY@cc.utah.edu (Jonzy)
  2514. Subject: Follow up on: To C or not to see
  2515. Message-ID: <C3D44FCEE2022868@CC.UTAH.EDU>
  2516. Newsgroups: fa.think-c
  2517. X-VMS-To: IN%"think-c@ics.uci.edu"
  2518. Lines: 93
  2519. Date: 26 Oct 92 21:33:06 GMT
  2520. X-Envelope-to: think-c@ics.uci.edu
  2521.  
  2522. With my posting last week concerning a problem with a call to MaxApplZone(),
  2523. I have not only found the problem, but a correction as well.  The problem
  2524. was the stack space was not big enough.  On an SE the initial stack space
  2525. is around 6k, while on an SI it is about 24k.
  2526.  
  2527. I must thank Steve Dorner for enlightening me to the problem.
  2528.  
  2529. Following my signature is some source to remedie the problem.
  2530.  
  2531. -------------------------------------------------------------------------
  2532. Jonzy                  | jonzy@cc.utah.edu      | jonzy@utahcca.bitnet
  2533. Postmaster (UUCC)      | postmaster@cc.utah.edu | postmast@utahcca.bitnet
  2534. University of Utah Computer Center              | (801) 581-8810
  2535. -------------------------------------------------------------------------
  2536. President UHGA (Utah Hang Gliding Association)
  2537. -------------------------------------------------------------------------
  2538.  
  2539. /*****************************************************************************
  2540.  * InitializeStackHeapAndMac makes sure the stack space is at least
  2541.  * 'stackSpace' size, expands the applications heap to limit, acquires
  2542.  * 'numMasters' number of master pointer blocks, and finaly initializes
  2543.  * the toolboxes.  The variable 'memoryNeeds' is the sum of master pointer
  2544.  * blocks, which is 'numMasters' * the number of master pointers per block *
  2545.  * the size of a master pointer + stackSpace + a safety buffer.  The safety
  2546.  * buffer I use here is 5k.  I should mention that no application code is
  2547.  * included in the value of 'memoryNeeds'.  If the 'memoryNeeds' is greater
  2548.  * than what is available this routine just toots the horn and bails out.
  2549.  * Page 475 of Think C User Manual incorrectly calls MaxApplZone() after
  2550.  * initializing the toolboxes.  Inside Macintosh Volumn II, page 26 says to
  2551.  * call MaxApplZone(), initialize QuickDraw and then the Window Manager.
  2552.  * Note:  This routine must exist in the same segment as main, otherwise
  2553.  * you will loose all your master pointer blocks.
  2554.  ****************************************************************************/
  2555. static void InitializeStackHeapAndMac(numMasters,stackSpace)
  2556.     int    numMasters;    /* The number of Master Pointer Blocks. */
  2557.     long    stackSpace;    /* The heap stack size. */
  2558. {    short    bailOut = 0;    /* Do we have the required memory? */
  2559.     long    memoryNeeds;    /* The heap + stack + safetyBuffer. */
  2560.  
  2561.     memoryNeeds = numMasters * 64 * 4 + stackSpace + 5 * 1024;
  2562.  
  2563.     if (!(bailOut = (memoryNeeds > ((long)CurStackBase - (long)ApplZone))))
  2564.         {
  2565.         /* See if we need to increase the stack size. */
  2566.         if ((CurStackBase - ApplLimit) < stackSpace)
  2567.             SetApplLimit(CurStackBase - stackSpace);
  2568.  
  2569.         /* Expand the application heap zone to its limit. */
  2570.         MaxApplZone();
  2571.  
  2572.         /* Each call to MoreMasters() will allocate a block of 64    *
  2573.          * master pointers, where each master pointer is 4 bytes.    */
  2574.         while (numMasters--)
  2575.             MoreMasters();
  2576.         }
  2577.  
  2578.     /* Initialize the various toolboxes in the proper order. */
  2579.     InitGraf(&thePort);
  2580.     InitFonts();
  2581.     InitWindows();
  2582.     InitMenus();
  2583.     TEInit();
  2584.     InitDialogs(NIL);
  2585.     InitCursor();
  2586.  
  2587.     /* Now discard all events except a disk inserted event. */
  2588.     FlushEvents(everyEvent - diskMask,0);
  2589.  
  2590.     if (bailOut)
  2591.         {        /* Should really bring up a dialog and tell */
  2592.         SysBeep(1);    /* the user they are a geek for changing    */
  2593.         ExitToShell();    /* the applications required size.          */
  2594.         }
  2595.  
  2596. }    /* InitializeStackHeapAndMac */
  2597.  
  2598. /*****************************************************************************
  2599.  * main is the first routine to get called by the system.
  2600.  ****************************************************************************/
  2601. main()
  2602. {
  2603.     InitializeStackHeapAndMac(16,(long)(24 * 1024));
  2604.  
  2605.     if (Initialized())
  2606.         {
  2607.         UnloadSeg(Initialized);
  2608.         while (MainEventLoop())
  2609.             /* Get on with the program. */;
  2610.         }
  2611.  
  2612. }    /* main */
  2613.  
  2614. /****************************************************************************/
  2615. 
  2616. 
  2617. Path: ucivax!gateway
  2618. From: de19@umail.umd.edu (Dana S Emery)
  2619. Subject: Re: problems with think c
  2620. Message-ID: <Mailstrom.1.03b2.24567.15089.de19@umail.umd.edu>
  2621. In-Reply-To: Your message <9210260645.AA07894@hobbes.kzoo.edu> of 26 Oct 92
  2622.  06:43:15 GMT
  2623. Content-Type: TEXT/plain; charset=US-ASCII
  2624. Newsgroups: fa.think-c
  2625. Lines: 14
  2626. Date: 27 Oct 92 07:55:01 GMT
  2627.  
  2628. I have seen strange linking problems and other anomolous behaviour with project
  2629. files ported to 5.0.3 from earlier versions.
  2630.  
  2631. Symantec has been unable to replicate this behaviour, and it may be unrelated to
  2632. your troubles.
  2633.  
  2634. For me, the fix has been to recreate the project file in 5.0.3 from scratch,
  2635. which is even more obnoxious than simply removing object code, as one has to
  2636. re-add all source files, and establish equivalent options settings.
  2637.  
  2638. Again, this is not an acknowledged bug, your milage may differ.
  2639. --
  2640. dana s emery <de19@umail.umd.edu>
  2641.  
  2642. 
  2643. 
  2644. Path: ucivax!gateway
  2645. From: iom@dsunx1.dsrd.ornl.gov (MIKOLIC-TORREI I)
  2646. Subject: Formats for reading dBase files requested
  2647. Message-ID: <9210282314.AA22296@dsunx1.DSRD.ORNL.GOV>
  2648. Newsgroups: fa.think-c
  2649. Lines: 20
  2650. Date: 28 Oct 92 23:15:53 GMT
  2651.  
  2652.  
  2653. I need to but together a small library to open and read (i.e., extract
  2654. various fields from various records) dBase files originally created on a
  2655. DOS machine (the *.DBF files).
  2656.  
  2657. I need to be able to read the header to figure out the data file.  I can
  2658. hack this by looking at the DBF files I have handy, but I would much rather
  2659. have an actual description of how the header is built to be sure I'm
  2660. allowing for all possible cases/sizes etc.
  2661.  
  2662. My question:  can anybody send me a description or point me to where I
  2663. could find one (be it an Internet archive reference or an old fashioned
  2664. library reference--you now, the kind with title, author, and they're too
  2665. big to fit in the little slot for the disk drive... :)
  2666.  
  2667. Thanks,
  2668.  
  2669. Igor Mikolic-Torreira
  2670. iom@dsunx1.dsrd.ornl.gov
  2671.  
  2672. 
  2673. 
  2674. Path: ucivax!gateway
  2675. From: dnebing@andy.bgsu.edu
  2676. Subject: CStdPopupPanes and DLOGs...
  2677. Message-ID: <9210290213.AA10045@andy.bgsu.edu>
  2678. Newsgroups: fa.think-c
  2679. Lines: 32
  2680. Date: 29 Oct 92 02:14:02 GMT
  2681.  
  2682.  
  2683.         I am working on adding some popups to a program using the Think
  2684.  Class Library.  Following the NewClassDemo as an example, I set up a
  2685.  DLOG, DITL, and StdP resources.  I copied the DoDemoDialog function
  2686.  word for word into my own program.
  2687.  
  2688.         When I run the program and display the dialog, the
  2689.  CStdPopupPane appears correct.  But when I click on the pane, nothing
  2690.  happens.  I traced through the code, following how the DLOG and DITL
  2691.  were loaded and entered, and this seems to work fine.  But the clicks
  2692.  are not getting sent to the CStdPopupPane::DoClick routine.  I double
  2693.  and triple checked everything, but have failed to find the answer.
  2694.  Can anyone offer a hint???
  2695.  
  2696.  dnebing@andy.bgsu.edu
  2697.  
  2698.  
  2699.  
  2700. /*
  2701.             Procedure:         Signature
  2702.             Purpose:           To print the signature file for David Nebinger
  2703. */
  2704.  
  2705. void Signature(void){
  2706.             printf("%s\n%s                %s\n%s\n%s\n",
  2707.                        "Dave Nebinger",
  2708.                        "dnebing@andy.bgsu.edu",
  2709.                        "dnebing@opie.bgsu.edu",
  2710.                        "Just because something is said to lighten a subject,",
  2711.                        "doesn't mean the subject is taken lightly.");
  2712. }
  2713.  
  2714. 
  2715. 
  2716. Path: ucivax!gateway
  2717. From: iron@imag.fr (Francois Menneteau)
  2718. Subject: Re: CStdPopupPanes and DLOGs...
  2719. Message-ID: <9210291228.AA27337@imag.imag.fr>
  2720. In-Reply-To: dnebing@andy.bgsu.edu's message as of Oct 29,  2:14.
  2721. Newsgroups: fa.think-c
  2722. Organization: IMAG Institute, University of Grenoble, France
  2723. Lines: 32
  2724. Date: 29 Oct 92 12:29:14 GMT
  2725.  
  2726. [29 Oct]. In your message you write:
  2727. >
  2728. >        I am working on adding some popups to a program using the Think
  2729. > Class Library.  Following the NewClassDemo as an example, I set up a
  2730. > DLOG, DITL, and StdP resources.  I copied the DoDemoDialog function
  2731. > word for word into my own program.
  2732. >
  2733. >        When I run the program and display the dialog, the
  2734. > CStdPopupPane appears correct.  But when I click on the pane, nothing
  2735. > happens.  I traced through the code, following how the DLOG and DITL
  2736. > were loaded and entered, and this seems to work fine.  But the clicks
  2737. > are not getting sent to the CStdPopupPane::DoClick routine.  I double
  2738. > and triple checked everything, but have failed to find the answer.
  2739. > Can anyone offer a hint???
  2740. >
  2741. > dnebing@andy.bgsu.edu
  2742. >
  2743.  
  2744. I had the same the problem, but found the solution : the menu ID was
  2745. different from the menu resource ID. Once I correct this, it works perfectly
  2746. Hope it helps.
  2747.  
  2748. PS: I try to use hierarchical menu with the CStdPopupPane, but it does not
  2749. work : the hierarchical menus only come disabled!!!
  2750. HELP...
  2751.  
  2752.  
  2753. --
  2754. Francois Menneteau ()   __|||||__   () "... I had their lives in my hands
  2755. ================== ()    /O   O\    () their fate their fortune in my visions
  2756. iron@imag.fr       ()    - .|. -    () No one believed in my true prophecy
  2757. ================== ()     \=^=/     () And now it's too late."  (Iron Maiden)
  2758. 
  2759. 
  2760. Path: ucivax!gateway
  2761. From: jhusk@silver.ucs.indiana.edu ("Joseph G. Husk")
  2762. Subject: MBAR
  2763. Message-ID: <9210281531.aa04329@q2.ics.uci.edu>
  2764. X-Mailer: ELM [version 2.4 PL0]
  2765. Content-Type: text
  2766. Content-Length: 735
  2767. Newsgroups: fa.think-c
  2768. Lines: 27
  2769. Date: 29 Oct 92 17:10:57 GMT
  2770.  
  2771. I've a question pertaining to Think C.  I can send you my
  2772. Think C Serial number if you wish.
  2773.  
  2774. I've created a program and when it's running in the background
  2775. my Menu Bar bleeds through to the front running application
  2776. every once in a click so to speak... why ?
  2777.  
  2778. MenuBarInit()
  2779. {
  2780.     Handle            myMenuBar;
  2781.  
  2782.  
  2783.     myMenuBar = GetNewMBar(BASE_RES_ID);
  2784.     SetMenuBar(myMenuBar);
  2785.     gAppleMenu = GetMHandle(APPLE_MENU_ID);
  2786.     AddResMenu(gAppleMenu, 'DRVR');
  2787.     gFileMenu = GetMHandle(FILE_MENU_ID);
  2788.     gMiscMenu = GetMHandle(MISC_MENU_ID);
  2789.     DrawMenuBar();
  2790. }
  2791. Simple enough, but I can't figure out why when I'm in another program
  2792. and mine is in the background why my menu bar will sometimes show
  2793. through?
  2794.  
  2795. -Joe Husk
  2796. Ucs Macintosh Consultant
  2797. Indiana University
  2798. 
  2799. 
  2800. Path: ucivax!gateway
  2801. From: C2MXBAR@fre.towson.edu (Aaron Barnett)
  2802. Subject: launch by file
  2803. Message-ID: <01GQIUSO0VIQ935HFC@TOE.TOWSON.EDU>
  2804. Content-transfer-encoding: 7BIT
  2805. MIME-version: 1.0
  2806. Newsgroups: fa.think-c
  2807. X-VMS-To: TOE::IN%"think-c@ics.uci.edu"
  2808. Lines: 4
  2809. Date: 29 Oct 92 19:08:02 GMT
  2810. X-Envelope-to: think-c@ics.uci.edu
  2811.  
  2812. how can i check to see if my app has been launched by the user opening
  2813. its file, so that i can open it(them).
  2814.  
  2815. aaron
  2816. 
  2817. 
  2818. Path: ucivax!gateway
  2819. From: C2MXBAR@fre.towson.edu (Aaron Barnett)
  2820. Subject: Apple Thought Police
  2821. Message-ID: <01GQIY06ZQHE935POA@TOE.TOWSON.EDU>
  2822. Content-transfer-encoding: 7BIT
  2823. MIME-version: 1.0
  2824. Newsgroups: fa.think-c
  2825. X-VMS-To: TOE::IN%"think-c@ics.uci.edu"
  2826. Lines: 6
  2827. Date: 29 Oct 92 20:41:53 GMT
  2828. X-Envelope-to: think-c@ics.uci.edu
  2829.  
  2830. I want to do something _undocumented_ (shhhhh).
  2831. I want to make a Dialog Window that has an itemlist defined in my
  2832. program (not in a 'DITL' resource).  its kind of important that i do it
  2833. this way.  has anyone figured this one out.
  2834.  
  2835. Mr. X
  2836. 
  2837. 
  2838. Path: ucivax!gateway
  2839. From: swenson%john.Berkeley.EDU@ucbvax.berkeley.edu (Kirk Swenson)
  2840. Subject: Re: Creating dialog item lists
  2841. Message-ID: <9210300001.AA25962@john.berkeley.edu>
  2842. Newsgroups: fa.think-c
  2843. Lines: 22
  2844. Date: 30 Oct 92 00:08:06 GMT
  2845.  
  2846. Aaron Barnett <C2MXBAR@fre.towson.edu> writes:
  2847.  
  2848. >I want to do something _undocumented_ (shhhhh).
  2849. >I want to make a Dialog Window that has an itemlist defined in my
  2850. >program (not in a 'DITL' resource).  its kind of important that i do it
  2851. >this way.  has anyone figured this one out.
  2852. >
  2853. >Mr. X
  2854.  
  2855. There's nothing undocumented about it.  First, you create the item list
  2856. following the format for the DITL resource (IM I-427) in a handle.  Then
  2857. you pass the handle to NewDialog (IM I-412) as the "items" parameter.  The
  2858. description of the NewDialog routine even tells you that you're allowed to
  2859. create your own item list.  The TCL dialog routines do the inverse process
  2860. (read the DITL resource and extract the individual items) to figure out
  2861. what panes to create for the dialog.  Along the way, they define structures
  2862. for manipulating item lists which might be useful to you.
  2863.  
  2864. Kirk Swenson
  2865. UC Berkeley
  2866. swenson@john.berkeley.edu
  2867.  
  2868. 
  2869. 
  2870. Path: ucivax!gateway
  2871. From: C511899@mizzou1.missouri.edu (Andrew McAllister)
  2872. Subject: Think Reference
  2873. Message-ID: <9210291615.aa16539@q2.ics.uci.edu>
  2874. Newsgroups: fa.think-c
  2875. Lines: 7
  2876. Date: 30 Oct 92 00:15:51 GMT
  2877.  
  2878. Howdy world.
  2879. I saw an ad in MacWeek the other day. And much to my surprise there was
  2880. a listing for Think Reference. BUT! It was described as if it contained
  2881. information for Vol 6 of Inside Macintosh. Could this be true? Did symantec
  2882. actually release a usefull reference for all of us sys 7 programmers?
  2883. andy
  2884. c511899@mizzou1.missouri.edu
  2885. 
  2886. 
  2887. Path: ucivax!gateway
  2888. From: gurgle@netcom.com (Pete Gontier)
  2889. Subject: Re: Apple Thought Police
  2890. Message-ID: <9210300317.AA22392@netcom.netcom.com>
  2891. In-Reply-To: <01GQIY06ZQHE935POA@TOE.TOWSON.EDU>; from "Aaron Barnett" at Oct 29, 92 8:41 pm
  2892. X-Mailer: ELM [version 2.3 PL11]
  2893. Newsgroups: fa.think-c
  2894. Lines: 40
  2895. Date: 30 Oct 92 03:20:41 GMT
  2896.  
  2897. > I want to do something _undocumented_ (shhhhh).
  2898. > I want to make a Dialog Window that has an itemlist defined in my
  2899. > program (not in a 'DITL' resource).  its kind of important that i do it
  2900. > this way.  has anyone figured this one out.
  2901.  
  2902. You could always use the new AppendDITL calls in System 7, of
  2903. course. I've done it this-a-way before:
  2904.  
  2905. Use ResEdit (or preferably Resorcerer) to edit your DITL as usual.
  2906. When you're done, open the DITL with the hex editor. Grab the hex
  2907. text and copy it to the clipboard. Jump over to your editor and
  2908. paste it in. Break it up into chunks of less-than 255 characters.
  2909. Declare strings, or perhaps an array of strings, for the chunks
  2910. of hex and enquote them.
  2911.  
  2912. Now, the tricky part. Find out the size of the DITL. Total the
  2913. lengths of all the strings. Divide by 2. (In ASCII hex, each byte
  2914. is represented by two characters (bytes)). Allocate a handle
  2915. using the size. Use StuffHex to stick each string into the handle
  2916. end-to-end. Zing, instant DITL. Pass it to NewDialog.
  2917.  
  2918. You can eliminate the strings out of the DITL to make the text
  2919. mangling less arduous and then string-ize the dialog at runtime
  2920. with code if that's a trade-off you're happy with.
  2921.  
  2922. I'm rather proud of this hack. Someone should enshrine it. I only
  2923. wish I could put arbitrary binary data in a (probably string)
  2924. constant -- that would eliminate all the StuffHex'ing. Probably
  2925. it's worth writing a program that takes an arbitrary resource
  2926. and converts it to a declaration of an array of byte values:
  2927.  
  2928. static unsigned char gHackDITL[ ] =
  2929. {
  2930.     0xF5, 0x5F ...
  2931. };
  2932.  
  2933. Come to think of it, DeRez output can look a lot like this...
  2934.  
  2935. --
  2936.  Pete Gontier // EC Technology // gurgle@netcom.com
  2937. 
  2938. 
  2939. Path: ucivax!gateway
  2940. From: vilot@bigboy.cis.temple.edu (Tom Vilot)
  2941. Subject: Re: CStdPopupPanes and DLOGs...
  2942. Message-ID: <Pine.2.4.55.9210300758.D4273@bigboy.cis.temple.edu>
  2943. In-Reply-To: <9210290213.AA10045@andy.bgsu.edu>
  2944. Newsgroups: fa.think-c
  2945. Lines: 26
  2946. Date: 30 Oct 92 07:42:53 GMT
  2947.  
  2948.  
  2949.  
  2950. On 29 Oct 1992, dnebing@andy.bgsu.edu wrote:
  2951.  
  2952. >         I am working on adding some popups to a program using the Think
  2953. >  Class Library.  Following the NewClassDemo as an example, I set up a
  2954. >  DLOG, DITL, and StdP resources.  I copied the DoDemoDialog function
  2955. >  word for word into my own program.
  2956. >
  2957. >         When I run the program and display the dialog, the
  2958. >  CStdPopupPane appears correct.  But when I click on the pane, nothing
  2959. >  happens.  I traced through the code, following how the DLOG and DITL
  2960. >  were loaded and entered, and this seems to work fine.  But the clicks
  2961. >  are not getting sent to the CStdPopupPane::DoClick routine.  I double
  2962. >  and triple checked everything, but have failed to find the answer.
  2963. >  Can anyone offer a hint???
  2964. >
  2965. >  dnebing@andy.bgsu.edu
  2966.  
  2967. This may sound silly, you may have already checked it, and it may be
  2968. obvious. But, are you sure you checked the "WantsClicks" instance in the
  2969. resource? I find this quite an annoying attribute of most of the TCL view
  2970. subclasses. CButton, for example, defaults to WantsClicks = FALSE. What a
  2971. pain. You may also have to tell your MainPane that it wants clicks.
  2972.  
  2973. Tom
  2974. 
  2975. 
  2976. Path: ucivax!gateway
  2977. From: SCHENKL@vax.cs.hscsyr.edu
  2978. Subject: RE: launch by file
  2979. Message-ID: <921029180756.20202a27@vax.cs.hscsyr.edu>
  2980. Newsgroups: fa.think-c
  2981. Lines: 12
  2982. Date: 30 Oct 92 16:23:12 GMT
  2983. X-Vmsmail-To: SMTP%"fa.think-c-outbound-request@ics.uci.edu"
  2984.  
  2985. Install an apple event handler for the type odoc. There is also the
  2986. [archiac] routine(s) that are something like "CountFiles" or the like.
  2987.  
  2988. Hope this helps...
  2989.  
  2990.  
  2991. (Whops... here's more correct info:
  2992. CountAppFiles();
  2993. GetAppFiles();
  2994. ClrAppFiles();
  2995.  
  2996. Or the apple event 'odoc' event.)
  2997. 
  2998. 
  2999. Path: ucivax!gateway
  3000. From: dnebing@andy.bgsu.edu
  3001. Subject: CStdPopupPane and DLOGs revisited
  3002. Message-ID: <9210301715.AA06996@andy.bgsu.edu>
  3003. Newsgroups: fa.think-c
  3004. Lines: 32
  3005. Date: 30 Oct 92 17:15:37 GMT
  3006.  
  3007.  
  3008.         Thanks to all of those that have answered, with your help I have
  3009. found
  3010. the problem.  I was using a user item to create a border around a group of
  3011. CStdPopupPanes.  This item was not enabled.
  3012.  
  3013.         I changed the resource so that it was enabled, and now it works
  3014. perfectly.
  3015.  
  3016.         One final question: One of my CStdPopupPanes is for choosing a
  3017. font.
  3018. How do you set the initial value of the popup so that the font that is
  3019. currently
  3020. selected is the font showing in the popup?
  3021.  
  3022.         dnebing@andy.bgsu.edu
  3023.  
  3024.  
  3025. /*
  3026.             Procedure:         Signature
  3027.             Purpose:           To print the signature file for David Nebinger
  3028. */
  3029.  
  3030. void Signature(void){
  3031.             printf("%s\n%s                %s\n%s\n%s\n",
  3032.                        "Dave Nebinger",
  3033.                        "dnebing@andy.bgsu.edu",
  3034.                        "dnebing@opie.bgsu.edu",
  3035.                        "Just because something is said to lighten a subject,",
  3036.                        "doesn't mean the subject is taken lightly.");
  3037. }
  3038.  
  3039. 
  3040. 
  3041. Path: ucivax!gateway
  3042. From: asaria@rrdtc.donnelley.com
  3043. Subject: TextEdit >32K
  3044. Message-ID: <9210301739.AA09853@uu.psi.com>
  3045. Newsgroups: fa.think-c
  3046. Lines: 13
  3047. Date: 30 Oct 92 18:05:37 GMT
  3048.  
  3049.  
  3050. Hello,
  3051.  
  3052. I'm looking for sample code that manages >32K edit buffers for use with
  3053. TextEdit. A TCL class (CPEditText) was discussed on this list a while ago,
  3054. does anyone have ideas (or code) on how to do this in non-TCL C?
  3055.  
  3056. I'd appreciate any information you can provide.
  3057.  
  3058. Thanks,
  3059.  
  3060. Riyaz
  3061. asaria@donnelley.com
  3062. 
  3063.